CN113612579A - 基于qc_ldpc码的数据处理方法、通信装置、设备和存储介质 - Google Patents
基于qc_ldpc码的数据处理方法、通信装置、设备和存储介质 Download PDFInfo
- Publication number
- CN113612579A CN113612579A CN202110834287.8A CN202110834287A CN113612579A CN 113612579 A CN113612579 A CN 113612579A CN 202110834287 A CN202110834287 A CN 202110834287A CN 113612579 A CN113612579 A CN 113612579A
- Authority
- CN
- China
- Prior art keywords
- code block
- bits
- ldpc code
- bit
- length
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 45
- 238000003672 processing method Methods 0.000 title claims abstract description 31
- 230000009897 systematic effect Effects 0.000 claims abstract description 57
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000012545 processing Methods 0.000 claims abstract description 25
- 239000000945 filler Substances 0.000 claims abstract description 14
- 238000004080 punching Methods 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 description 17
- 238000010586 diagram Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 125000004122 cyclic group Chemical group 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 108010003272 Hyaluronate lyase Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 235000021028 berry Nutrition 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 125000002306 tributylsilyl group Chemical group C(CCC)[Si](CCCC)(CCCC)* 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
- H04L1/0013—Rate matching, e.g. puncturing or repetition of code symbols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Signal Processing (AREA)
- Computational Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Error Detection And Correction (AREA)
Abstract
本公开实施例提供一种基于QC_LDPC码的数据处理方法、通信装置、网络设备和存储介质。该数据处理方法包括:输入第一QC_LDPC码块序列,其中,所述第一QC_LDPC码块序列中的每个码块对应的系统比特包括信息比特和校验比特,并且所述信息比特包括第一填充比特;打掉每个所述码块中的大列重对应的比特;移除每个所述码块中的第一填充比特;对每个所述码块依次进行比特拼接、基于码块长度选择填充第二填充比特,以使每个所述码块满足预设的数据结构;将每个所述码块分别存储到循环缓存区,并选择读取缓存比特,完成所述第一QC_LDPC码块序列的速率匹配,获得第二QC_LDPC码块序列。采用上述方法,能够显著提升通信系统的数据处理速率和吞吐量。
Description
技术领域
本公开涉及数据处理方法和通信装置,并尤其涉及基于QC_LDPC码(Quasi-CyslicLow Density Parity Check Code,准循环低密度奇偶校验码)的数据处理方法、通信装置、网络设备和存储介质。
背景技术
在移动通信领域中,信道编码技术是至关重要的。信道编码的本质就是对接收的比特(信息比特)进行处理,得到一系列新的比特(校验比特),将两者拼在一起就得到编码后的码块。目前常用的用于信道编码体制有BCH码(由R.C.Bose、D.K.Chaudhuri和A.Hocquenghem共同提出的一种纠错码)、RS码(即Reed-Solomon纠错码)、卷积码、Turbo码(Claude.Berrou等人在1993年首次提出的一种级联码)和LDPC码(Low Density ParityCheck Code,低密度奇偶校验码)等。其中LDPC码是由稀疏校验矩阵定义的线性分组码,即其中只有一部分元素是1,其余元素皆为0。一个LDPC码的校验矩阵如下式所示,对应的Tanner图如图1所示。
LDPC码具有差错误码低、吞吐量大、译码速度快以及便于硬件实现等优点。
尽管如此,当需要满足5G NR(5th generation mobile networks New Radio,第五代移动通信技术新窗口)调度的信息块颗粒度的需求时,如果直接根据信息块大小设计LDPC码的校验矩阵,则需要非常多个校验矩阵,这对于LDPC码的描述和编译码实现来说都不可行。QC_LDPC码(Quasi-Cyslic Low-Density Parity-Check Codes,准循环LDPC码)的提出使这个问题得以解决。具有重复累计结构的准循环LDPC码能够实现线性复杂度的快速编码,因此,目前实际中所使用的LDPC码大都使用这种校验矩阵构造方式。
但另一方面,经编码后,QC_LDPC码的比特数与系统中的信道资源所能承载的比特数可能不一致。当信道资源较多时,该选择哪些比特去传,当信道资源较少时,又应该去掉哪些比特,这一过程叫做速率匹配。
发明内容
鉴于上述,发明人发现,目前提供的QC_LDPC码的速率匹配方法处理速度较慢,并因此影响了整个通信系统的数据处理速率和吞吐量。因此,本公开旨在提供一种处理速度快、吞吐量大的基于准循环低密度奇偶校验码QC_LDPC码的数据处理方法,该方法包括:输入第一QC_LDPC码块序列,其中,所述第一QC_LDPC码块序列中的每个码块对应的系统比特包括信息比特和校验比特,并且所述信息比特包括第一填充比特;打掉每个所述码块中的大列重对应的比特;移除每个所述码块中的第一填充比特;对每个所述码块依次进行比特拼接、基于码块长度选择填充第二填充比特,以使每个所述码块满足预设的数据结构;将每个所述码块分别存储到循环缓存区,并选择读取缓存比特,完成所述第一QC_LDPC码块序列的速率匹配,获得第二QC_LDPC码块序列。
优选地,所述移除每个所述码块中的第一填充比特,包括:针对任一个所述码块,计算所述第一填充比特的长度,定位所述第一填充比特的起始位置,将所述第一填充比特删除。
优选地,所述针对任一个所述码块,计算所述第一填充比特的长度,定位所述第一填充比特的起始位置,将所述第一填充比特删除,包括:将所述第一QC_LDPC码块序列中的每个码块对应的信息比特称为第一信息比特,所述第一信息比特由初始信息比特和所述第一填充比特组成,根据第一信息比特的长度和初始信息比特的长度计算所述第一填充比特的长度;将所述打掉所述码块中的大列重对应的比特所获得的码块数据定义为第二系统比特;根据所述第二系统比特的起始位置、所述初始信息比特的长度以及所述大列重对应的比特数量确定所述第一填充比特的起始位置;其中,所述第一填充比特的起始位置与所述第二系统比特的起始位置相差的比特距离等于所述初始信息比特的长度减去所述大列重对应的比特数量。
优选地,在所述将每个所述码块分别存储到循环缓冲区,根据上层用户信息的定义选择读取缓存比特,完成所述第一QC_LDPC码块序列的速率匹配,获得第二QC_LDPC码块序列之后,还包括:所述方法应用于现场可编程门阵列FPGA,对所述第二QC_LDPC码块序列进行并行交织,得到第三QC_LDPC码块序列。
优选地,所述并行交织中的并行读取列数与预设的数据结构的单位相等。
优选地,所述方法应用于FPGA,所述第一QC_LDPC码块序列具有多组,以采用流水方式处理多组所述第一QC_LDPC码块序列。
本公开还提供一种通信装置,该装置包括:输入单元,用于输入第一QC_LDPC码块序列,其中,所述第一QC_LDPC码块序列中的每个码块对应的系统比特由信息比特和校验比特组成,并且所述信息比特包括第一填充比特;打孔单元,用于打掉每个所述码块中的大列重对应的比特;移除单元,用于移除每个所述码块中的第一填充比特;拼接单元,用于对每个所述码块依次进行比特拼接、基于码块长度选择填充第二填充比特,以使每个所述码块满足预设的数据结构;选择单元,用于将每个所述码块分别存储到循环缓存区,并选择读取缓存比特,完成所述第一QC_LDPC码块序列的速率匹配,获得第二QC_LDPC码块序列。
优选地,所述移除单元,包括:针对任一个所述码块,计算所述第一填充比特的长度,定位所述第一填充比特的起始位置,将所述第一填充比特删除。
优选地,所述移除单元,包括:将所述第一QC_LDPC码块序列中的每个码块对应的信息比特称为第一信息比特,所述第一信息比特由初始信息比特和所述第一填充比特组成,根据第一信息比特的长度和初始信息比特的长度计算所述第一填充比特的长度;将所述打掉所述码块中的大列重对应的比特所获得的码块数据定义为第二系统比特;根据所述第二系统比特的起始位置、所述初始信息比特的长度以及所述大列重对应的比特数量确定所述第一填充比特的起始位置;其中,所述第一填充比特的起始位置与所述第二系统比特的起始位置相差的比特距离等于所述初始信息比特的长度减去所述大列重对应的比特数量。
优选地,所述选择单元包括存储单元,用于提供所述循环缓存区;其中,所述存储单元是DRAM、SRAM,或介于CPU和主存储器之间的Cache中的一种。
优选地,所述通信装置是FPGA,并且所述通信装置还包括:交织单元,用于对所述第二QC_LDPC码块序列进行并行交织,得到第三QC_LDPC码块序列。
优选地,所述第一QC_LDPC码块序列具有多组,所述通信装置是FPGA,用于采用流水方式处理多组所述第一QC_LDPC码块序列。
本公开还提供另一种通信装置,该装置包括:存储器、处理器及存储在存储器上并可在处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6中任意一项所述基于QC_LDPC码的数据处理方法。
本公开还提供一种网络设备,该网络设备包括上述任一所述的通信装置。
本公开还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任意一项所述基于QC_LDPC码的数据处理方法。
与现有技术相比,本公开实施例包括以下优点:
本公开实施例,由于在选择读取缓存比特的步骤之前,首先移除了码块中的第一无效比特,从而,一方面,能够省去在进行选择读取缓存比特步骤时因跳过第一无效比特而花费的等待时间,另一方面,由于移除了码块中的第一无效比特,可能会使得第二填充比特的长度大幅削减;并且本公开实施例在移除步骤中的程序简单,所花费的开销和时间极小。因此,本公开实施例能够显著提升通信系统的数据处理速率和吞吐量,在5G NR等传输数据量大的情形下,该效果将越显著。
附图说明
这里描述的附图只是为了说明选择的实施方式,而并不是所有可能的实施方式,并且不用于对本公开的范围进行限制。
图1是本公开背景技术提供的LDPC码的校验矩阵对应的Tanner图;
图2是本公开实施例提供的5G NR LDPC信道编码的全过程流程图;
图3是本公开实施例提供的基于QC_LDPC码的数据处理方法100中的系统比特S0的数据结构图;
图4是本公开实施例提供的基于QC_LDPC码的数据处理方法100的流程图;
图5是本公开实施例提供的基于QC_LDPC码的数据处理方法100中的系统比特S1的数据结构图;
图6是本公开实施例提供的基于QC_LDPC码的数据处理方法100中的步骤S102中的子步骤流程图;
图7是本公开实施例提供的基于QC_LDPC码的数据处理方法100中的系统比特S2的数据结构图;
图8是本公开实施例提供的基于QC_LDPC码的数据处理方法100中的系统比特S3的数据结构图;
图9是本公开实施例提供的基于QC_LDPC码的数据处理方法100中的步骤S104中的子步骤流程图;
图10是本公开实施例提供的基于QC_LDPC码的数据处理方法100中的循环缓存区的结构图;
图11是本公开实施例提供的基于QC_LDPC码的数据处理方法100中的系统比特S4的数据结构图;
图12是本公开实施例提供的基于QC_LDPC码的数据处理方法100的又一流程图;
图13是本公开实施例提供的基于QC_LDPC码的数据处理方法100中的交织器结构图;
图14是本公开实施例提供的基于QC_LDPC码的数据处理方法100中的流水处理方式示意图;
图15是本公开实施例提供的一种通信装置200的结构示意图。
图16是本公开实施例提供的又一种通信装置又一种结构示意图。
具体实施方式
在以下描述中,阐明了某些具体细节以便提供对本披露的各个实施例的透彻了解。然而,本领域技术人员将理解的是,可以在没有这些特定细节的情况下实践本披露。
本公开实施例提供了一种基于QC_LDPC码的数据处理方法100,为了便于理解,以下结合图2-图15,对该方法进行详细说明。
如图2所示,为其中一种传统的5G NR LDPC信道编码的全流程。在数据的发送端,在LDPC码编码之前,需要先确定编码参数,包括TBS(transmit block size,传输块大小)大小、分段与否和BG参数等。其中,TBS经过分段步骤后得到一个或多个码块。经LDPC编码后,依次进行速率匹配、比特交织和码块合并后,可将数据往接收端发送。本公开实施例仅对其中的速率匹配和比特交织步骤进行重点说明。
QC_LDPC码是一类结构化的LDPC码,其校验矩阵可以分解为Z*Z(为了支持不同的信息块长度,同时考虑描述复杂度和性能的折中,5G NR定义了多组扩展因子(或叫移位因子),QC_LDPC码扩展因子Z集合如表1所示)的全零矩阵和循环移位矩阵。其中循环移位矩阵通过对Z*Z的单位矩阵向右循环移位获得。扩展之前的矩阵称为基矩阵(对应的Tanner图称为基图(BG,Base Graph)(为了简洁,该图未示出)),只包含元素“0”和“1”。“0”的位置替换为Z*Z的全零矩阵,“1”的位置替换为Z*Z的循环移位矩阵。其中,为了支持不同的传输码率和TBS,NR系统中采用两种不同BG类型的LDPC编码,分别为BG1和BG2,BG1的大小为46*68,BG2的大小是42*52。一个mZ*nZ的QC_LDPC码的校验矩阵可以写作:
表1:LDPC码扩展因子(Z)集合
经过上述分段步骤后,5G NR数据分成了多个码块,多个码块组成输入的码块序列,对输入的码块序列中的每个码块分别进行速率匹配,对于QC_LDPC码,一个码块称为一个系统比特S,它包括信息比特C和经编码处理而生成的校验比特P。编码后且速率匹配前的系统比特记作系统比特S0,如图3所示,为系统比特S0的数据结构,其中,系统比特S0中的信息比特记作C0,信息比特C0包括初始信息比特c和第一填充比特N1。因此,对于N个码块的序列,可记作S0(0),S0(1),...,S0(N-1),该时刻的码块序列记作码块序列1。容易理解,上述数据处理流程中的速率匹配和比特交织可基于多组输入的码块序列而进行。
可以理解的是,LDPC编码中,在生成校验比特之前,为满足LDPC编码协议所规定的比特长度,往往需要对信道资源所接收到的初始信息比特c进行比特填充,该填充的比特即为第一填充比特N1。并且根据编码规则能够得到系统比特S0的参数包括:各码块的信息比特C0的比特长度k,初始信息比特c的长度kc和系统比特S0的总长度d。
如图4所示,本实施例提供的基于QC_LDPC码的数据处理方法100主要包括步骤S101-S104。
步骤S101:输入码块序列1,并打掉码块序列1的各码块中的大列重对应的比特。
应当理解,码块序列1中具有1个或多个码块,输入的码块序列1的每个码块对应的系统比特即为系统比特S0。由于QC_LDPC码离散的移位因子Z大小等会影响信息块大小和码长,遂对系统比特S0进行打孔,以进行速率匹配。具体的,根据QC_LDPC码速率匹配标准规定,QC_LDPC码的速率匹配需要打掉大列重对应的2Z个系统比特,即永远不会传输。5G NRLDPC码BG中前两列属于大列重,所谓大列重就是指这两列中1的数量明显大于其他列。这样做的好处是在译码过程中加强消息流动,增加校验方程之间的消息传递效率。该2Z长度比特位于系统比特S0的最前端,打孔后的系统比特记作系统比特S1,数据结构如图5所示,系统比特S1中的信息比特记作C1。
步骤S102:移除各码块中的第一填充比特N1。
示例性地,如图6所示,该移除步骤通过分为S1021-S1023三个子步骤来进行。步骤S1021:计算第一填充比特N1的长度。已知在系统比特S0中,信息比特C0长度为k,初始信息比特c长度为kc,因此可算得第一填充比特N1的长度n1=k-kc。步骤S1022:定位第一填充比特N1在系统比特S1中的位置。在系统比特S0中,已知打孔的比特位置和长度为前端2Z,初始信息比特c的长度为kc,系统比特S1的起始位置为K0,因此可根据图3和图5所示的系统比特的数据结构算得在系统比特S1中,第一填充比特N1的起始位置KD与系统比特S1的起始位置K0的比特距离d=kc-2Z。示例性地,以K0-K(x-1)表示长度为x的数据的位置,则D=kc-2Z-1。步骤S1023:将定位到的第一填充比特N1删除,得到系统比特S2。系统比特S2的数据结构如图7所示,系统比特S1中的信息比特记作C2。
步骤S103:对各码块依次进行拼接、基于码块长度选择填充第二填充比特N2,得到满足预设的数据结构的码块。
可以理解,经过上述打孔和移除步骤完成后,码块长度已经发生了变化,而数据处理要求各码块满足预设的数据结构,其中,该预设的数据结构是指所选硬件要求的数据结构,不同的硬件要求的数据位数不尽相同。示例性地,在其中一种硬件结构下,要求的数据位数是128位的整数倍,128位的整数倍即为该预设的数据结构,128位称为该预设的数据结构的单位。因此,为重新满足预设的数据结构,需要对码块进行拼接和再填充。作为其中一种实施例,预设的数据结构是128位的整数倍,拼接是指以128位为单位重新组合数据,填充是为了形成最后一组128位的数据而进行比特填充。具体的,是否填充则根据码块长度来进行,若码块长度未满足128位的整数倍数据结构,则需要进行填充比特,若码块长度恰好满足128位的整数倍数据结构,则无需进行比特填充,该填充的比特称为第二填充比特N2。经步骤S103后得到的系统比特记作系统比特S3,数据结构如图8所示。容易理解,第二填充比特N2的长度<128位,并且,若拼接后的系统比特S2恰好满足了128位整数倍的数据结构,则第二填充比特N2长度为0。
步骤S104:将经步骤S103后的各码块分别存储到循环缓存区中,并根据上层用户信息的定义选择读取缓存比特,完成速率匹配。
示例性地,根据第三代合作伙伴计划(Third Generation Partnership Project,3GPP)的技术规范(Technical specification,TS),如38.214的协议,定义了QC_LDPC码缓存和选择的方式。该步骤S104如图9所示,该步骤S104具体包括,步骤S1041:将上述步骤后的多个码块分别写入一个长度为Ncb的循环缓存中,该循环缓存区结构如图10所示。
应当理解,对于不同码块,实际缓存区长度不尽相同。协议规定,对于第r个码块,如果ILBRM=0,则Ncb=N;
否则Ncb=min(N,Nref),其中C为TBS传输块分段后的码块数量,RLBRM=2/3,TBSLBRM根据TS38.214第6.1.4.2节(UL-SCH)和5.1.3.2节(DL-SCH/PCH)确定。
写入循环缓存区后,执行步骤S1042:计算每个码块的读取长度Er。这又分为三种不同的情况。第一,根据TS38.214协议第5.1.7.2节(DL-SCH)和6.1.5.2节(UL-SCH)CBGTI指示的,若第r个码块不安排传输,即Er=0;
否则,其中NL为传输块TBS所对应的流程,Qm为调制阶数,G为当前传输块TBS所有可发送的编码比特数,如果CBGTI不在调度当前传输块的DCI(Downlink Control Information,下行控制信息)中,那么C'=C;否则C'为调度的码块数。
计算得到读取长度Er后,执行步骤S1043:计算每个码块的选择读取起点K,并读取数据(数据长度超过环长度时则进行循环读取),得到系统比特S4,至此完成了速率匹配。协议规定,在比特选择过程中需要跳过无效比特。因此,经速率匹配后得到的系统比特S4已经不再具有无效比特,即不再具有第一无效比特N1或第二无效比特N2,系统比特S4的数据结构如图11所示。得到的E个码块组成的码块序列记作码块序列2,码块序列2的结构表示为S4(0),S4(1),...,S4(E-1)。
其中,选择起点K与冗余版本rvid有关(rvid=0,1,2,3),相应的起点位置的其中一种示例如表2所示。其中,冗余版本是基于上层用户信息的定义,并由处理单元执行数字信号处理计算得到,其中处理单元可以是DSP(Digital Signal Processing,数字信号处理)、FPGA(Field Programmable Gate Array,现场可编程门阵列)等芯片。容易理解,上述数量E和N的值可能相等,也可能不相等,具体应与上述N个码块是否都安排传输相关。
表2:不同冗余版本的起点位置
本实施例提供的基于QC_LDPC码的数据处理方法100与传统的速率匹配方法相比,由于在执行步骤S104之前,首先移除了码块中的第一无效比特N1,从而,一方面,能够省去在后续步骤S104中读取缓存比特时因跳过第一无效比特N1而花费的等待时间,另一方面,由于移除了码块中的第一无效比特N1,可能大幅削减第二填充比特N2的长度;并且本方法100在移除步骤中的程序简单,所花费的开销和时间极小。因此,本方法100能够显著提升通信系统的数据处理速率和吞吐量,并且在5G NR等传输数据量大的情形下,该效果将越显著。发送端经过本公开实施例所描述的步骤S101-S104后,可将得到的码块序列2往接收端发送。
具体的,如图12所示,该方法100还包括步骤S105:对码块序列2进行行列交织,得到码块序列3,最后可向接收端发送。该比特交织步骤可采用行列交织器进行,如图13所示,行数与调制阶数Qm相同,行进列出,实现系统比特优先的交织,即在高QAM(QuadratureAmplitude Modulation,正交幅度调制)调制时,将系统比特放在高可靠的比特位置上。经行列交织后获得的系统比特记作系统比特S5,得到的由E个码块组成的码块序列记作码块序列3,对应的结构表示为S5(0),S5(1),...,S5(E-1)。
上述基于QC_LDPC码的数据处理方法100应用于通信系统的发送端,接收端在接收到经过该方法100处理的数据后,执行该方法的逆过程,包括解交织、解速率匹配以及LDPC译码,从而得到初始信息比特c。该方法的逆过程在此不再一一阐述。
示例性地,上述比特交织步骤中,对于诸如FPGA等拥有强大的逻辑处理能力的芯片,通过设置可以在上述行进列出的比特交织过程中同时地读出多列数据(也称并行的数据处理方法),这种并行的数据处理方法能够允许系统更快地完成交织。并且当并行读取的数据列数与预设的数据结构的单位相等时,例如,在其中一种硬件结构下,并行交织时同时读出的列数为128列,要求的数据结构的单位恰好是128位。能够快速完成比特交织的同时,快速满足预设的数据结构,进一步提升了系统的数据处理速率和吞吐量。
示例性地,如图14所示,对于上述步骤S101-S105,在诸如FPGA等拥有强大的逻辑处理能力的芯片中,允许以流水的方式处理不同的输入的码块序列。流水的处理方式是指:当某一输入的码块序列的码块在执行一步骤时,其他的输入的码块序列的码块能同时地执行除该步骤外的其他一个或多个步骤。示例性地,当码块序列A的码块在执行步骤S103时,码块序列B、码块序列C的码块能同时地执行除步骤S103以外的步骤S101、步骤S102、步骤S104或步骤S105中的一个或多个。需要说明的是,上述码块序列A、码块序列B和码块序列C是指不同的输入的码块序列,而码块序列1、码块序列2和码块序列3是指一组输入的码块序列的不同状态。采用流水的方式进行数据处理能够省去不同码块序列在执行上述步骤S101-步骤S105之间的等待时间,进一步提升系统的数据处理速率和吞吐量。
本公开实施例还提供一种通信装置200,如图15所示,该通信装置200包括输入单元201,用于执行上述步骤S101中的“输入码块序列1”。该通信装置200还包括打孔单元202,该打孔单元202用于执行上述步骤S101中的“打掉码块序列1的各码块中的大列重对应的比特”。该通信装置200还包括移除单元203,该移除单元203用于执行上述步骤S102。该通信装置200还包括拼接单元204,该拼接单元204用于执行上述步骤S103。该通信装置200还包括选择单元205,该选择单元205用于执行上述步骤S104。
示例性地,该选择单元205包括存储单元2051,用于提供步骤S104中的循环缓存区。
示例性地,该通信装置200还包括交织单元206,该交织单元206用于执行上述步骤S105。
具体的,上述存储单元可以是DRAM(动态随机存取存储器)、SRAM(静态随机存取存储器),或者是介于CPU和主存储器之间的Cache(高速缓冲存储器),主存储器可以是例如RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介。
具体的,上述通信装置200可以是一个芯片或多个芯片或芯片与外围电路的组合,其中芯片可以是DSP芯片、FPGA芯片、MPU(Micro Processor Unit,微处理器)芯片或SOC(system on chip,片上系统)芯片等。当通信装置200是芯片并且芯片是FPGA芯片时,能够实现比特的并行交织以及码块序列的流水处理,进一步提升系统数据处理速率和吞吐量。
本公开实施例提供的通信装置,由于首先在移除单元移除了码块中的第一无效比特,从而,一方面,能够省去在选择单元中因跳过第一无效比特而花费的等待时间,另一方面,由于移除了码块中的第一无效比特,可能会使得第二填充比特的长度大幅削减;并且在移除单元中执行的移除步骤程序简单,所花费的开销和时间极小。因此,本实施例提供的通信装置能够显著提升通信系统的数据处理速率和吞吐量,在5G NR等传输数据量大的情形下,该效果将越显著。
此外,如图16所示,本公开的一个实施例还提供了另一种通信装置,包括:存储器40、处理器30及存储在存储器40上并可在处理器30上运行的程序,处理器30执行程序时实现上述实施例中的基于QC_LDPC码的数据处理方法,例如,执行以上描述的图4中的方法步骤S101至步骤S105、图6中的方法步骤S1021至步骤S1023、图9中的方法步骤S1041至S1043、图12中的方法步骤S101至S105。本公开实施例还提供一种网络设备300,该网络设备包括上述用于数据处理的通信装置200,能够通过上述通信装置200执行以上描述的图4中的方法步骤S101至S104或图12中的方法步骤S101至S105,并达到上述实施例中方法步骤对应的技术效果,本实施例对其不作详细赘述。
具体的,该网络设备300是基站或终端。终端是一种具有通信功能的设备,可以包括具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端可以叫做不同的名称,例如:用户设备,移动台,用户单元,站台,蜂窝电话,个人数字助理,无线调制解调器,无线通信设备,手持设备,膝上型电脑,无绳电话,无线本地环路台等。为描述方便,本公开中简称为终端。基站(basestation,BS),也可称为基站设备,是一种部署在无线接入网用以提供无线通信功能的设备。在不同的无线接入系统中基站的叫法可能有所不同,例如在而在通用移动通讯系统(Universal Mobile TelecommunicationsSystem,UMTS)网络中基站称为节点B(NodeB),而在LTE网络中的基站称为演进的节点B(evolved NodeB,eNB或者eNodeB),在新空口(newradio,NR)网络中的基站称为收发点(transmission reception point,TRP)或者下一代节点B(generation nodeB,gNB),或者其他各种演进网络中的基站也可能采用其他叫法。本公开并不限于此。本公开中,名词“网络”和“系统”经常交替使用,但本领域的技术人员可以理解其含义。
本公开实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的指令、或者这两者的结合。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk(SSD))等。上面的组合也应当包括在计算机可读介质的保护范围之内。
本说明书中各个实施例之间相同或相似的部分可以互相参考。
以上所述的本公开实施方式并不构成对本公开保护范围的限定。
Claims (15)
1.一种基于准循环低密度奇偶校验码QC_LDPC码的数据处理方法,其特征在于,包括:
输入第一QC_LDPC码块序列,其中,所述第一QC_LDPC码块序列中的每个码块对应的系统比特包括信息比特和校验比特,并且所述信息比特包括第一填充比特;
打掉每个所述码块中的大列重对应的比特;
移除每个所述码块中的第一填充比特;
对每个所述码块依次进行比特拼接、基于码块长度选择填充第二填充比特,以使每个所述码块满足预设的数据结构;
将每个所述码块分别存储到循环缓存区,并选择读取缓存比特,完成所述第一QC_LDPC码块序列的速率匹配,获得第二QC_LDPC码块序列。
2.根据权利要求1所述的方法,其特征在于,所述移除每个所述码块中的第一填充比特,包括:
针对任一个所述码块,计算所述第一填充比特的长度,定位所述第一填充比特的起始位置,将所述第一填充比特删除。
3.根据权利要求2所述的方法,其特征在于,所述针对任一个所述码块,计算所述第一填充比特的长度,定位所述第一填充比特的起始位置,将所述第一填充比特删除,包括:
将所述第一QC_LDPC码块序列中的每个码块对应的信息比特称为第一信息比特,所述第一信息比特由初始信息比特和所述第一填充比特组成,根据所述第一信息比特的长度和初始信息比特的长度计算所述第一填充比特的长度;
将所述打掉所述码块中的大列重对应的比特所获得的码块数据定义为第二系统比特;根据所述第二系统比特的起始位置、所述初始信息比特的长度以及所述大列重对应的比特数量确定所述第一填充比特的起始位置;其中,所述第一填充比特的起始位置与所述第二系统比特的起始位置相差的比特距离等于所述初始信息比特的长度减去所述大列重对应的比特数量。
4.根据权利要求1所述的方法,其特征在于,在所述将每个所述码块分别存储到循环缓冲区,根据上层用户信息的定义选择读取缓存比特,完成所述第一QC_LDPC码块序列的速率匹配,获得第二QC_LDPC码块序列之后,还包括:
所述方法应用于现场可编程门阵列FPGA,对所述第二QC_LDPC码块序列进行并行交织,得到第三QC_LDPC码块序列。
5.根据权利要求4所述的方法,其特征在于,
所述并行交织中的并行读取列数与预设的数据结构的单位相等。
6.根据权利要求1-5任一所述的方法,其特征在于,
所述方法应用于FPGA,所述第一QC_LDPC码块序列具有多组,以采用流水方式处理多组所述第一QC_LDPC码块序列。
7.一种通信装置,其特征在于,包括:
输入单元,用于输入第一QC_LDPC码块序列,其中,所述第一QC_LDPC码块序列中的每个码块对应的系统比特由信息比特和校验比特组成,并且所述信息比特包括第一填充比特;
打孔单元,用于打掉每个所述码块中的大列重对应的比特;
移除单元,用于移除每个所述码块中的第一填充比特;
拼接单元,用于对每个所述码块依次进行比特拼接、基于码块长度选择填充第二填充比特,以使每个所述码块满足预设的数据结构;
选择单元,用于将每个所述码块分别存储到循环缓存区,并选择读取缓存比特,完成所述第一QC_LDPC码块序列的速率匹配,获得第二QC_LDPC码块序列。
8.根据权利要求7所述的通信装置,其特征在于,所述移除单元,包括:
针对任一个所述码块,计算所述第一填充比特的长度,定位所述第一填充比特的起始位置,将所述第一填充比特删除。
9.根据权利要求8所述的通信装置,其特征在于,所述移除单元,包括:
将所述第一QC_LDPC码块序列中的每个码块对应的信息比特称为第一信息比特,所述第一信息比特由初始信息比特和所述第一填充比特组成,根据所述第一信息比特的长度和初始信息比特的长度计算所述第一填充比特的长度;
将所述打掉所述码块中的大列重对应的比特所获得的码块数据定义为第二系统比特;根据所述第二系统比特的起始位置、所述初始信息比特的长度以及所述大列重对应的比特数量确定所述第一填充比特的起始位置;其中,所述第一填充比特的起始位置与所述第二系统比特的起始位置相差的比特距离等于所述初始信息比特的长度减去所述大列重对应的比特数量。
10.根据权利要求7所述的通信装置,其特征在于,
所述选择单元包括存储单元,用于提供所述循环缓存区;
其中,所述存储单元是DRAM、SRAM,或介于CPU和主存储器之间的Cache中的一种。
11.根据权利要求7所述的通信装置,其特征在于,所述通信装置是FPGA,并且所述通信装置还包括:交织单元,用于对所述第二QC_LDPC码块序列进行并行交织,得到第三QC_LDPC码块序列。
12.根据权利要求7-11任一所述的通信装置,其特征在于,
所述第一QC_LDPC码块序列具有多组,所述通信装置是FPGA,用于采用流水方式处理多组所述第一QC_LDPC码块序列。
13.一种通信装置,其特征在于,包括:
存储器、处理器及存储在存储器上并可在处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6中任意一项所述基于QC_LDPC码的数据处理方法。
14.一种网络设备,其特征在于,包括权利要求7-13任一所述的通信装置。
15.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1至6中任意一项所述基于QC_LDPC码的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110834287.8A CN113612579A (zh) | 2021-07-23 | 2021-07-23 | 基于qc_ldpc码的数据处理方法、通信装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110834287.8A CN113612579A (zh) | 2021-07-23 | 2021-07-23 | 基于qc_ldpc码的数据处理方法、通信装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113612579A true CN113612579A (zh) | 2021-11-05 |
Family
ID=78338139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110834287.8A Pending CN113612579A (zh) | 2021-07-23 | 2021-07-23 | 基于qc_ldpc码的数据处理方法、通信装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113612579A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114499758A (zh) * | 2022-01-10 | 2022-05-13 | 哲库科技(北京)有限公司 | 信道编码方法、装置、设备和计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108234064A (zh) * | 2016-12-09 | 2018-06-29 | 中兴通讯股份有限公司 | 准循环ldpc码数据处理装置及处理方法 |
WO2018141292A1 (zh) * | 2017-02-06 | 2018-08-09 | 华为技术有限公司 | 数据处理方法及设备 |
CN108574491A (zh) * | 2017-03-09 | 2018-09-25 | 华为技术有限公司 | 数据处理方法、数据处理装置和通信设备 |
-
2021
- 2021-07-23 CN CN202110834287.8A patent/CN113612579A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108234064A (zh) * | 2016-12-09 | 2018-06-29 | 中兴通讯股份有限公司 | 准循环ldpc码数据处理装置及处理方法 |
WO2018141292A1 (zh) * | 2017-02-06 | 2018-08-09 | 华为技术有限公司 | 数据处理方法及设备 |
CN108574491A (zh) * | 2017-03-09 | 2018-09-25 | 华为技术有限公司 | 数据处理方法、数据处理装置和通信设备 |
US20190393896A1 (en) * | 2017-03-09 | 2019-12-26 | Huawei Technologies Co., Ltd. | Data Processing Method, Data Processing Apparatus, And Communications Device |
Non-Patent Citations (2)
Title |
---|
滴水浮萍: "5G中LDPC码的信息处理流程", pages 1 - 2, Retrieved from the Internet <URL:https://www.jianshu.com/p/85cd16a92a21d> * |
物联网: "5G NR QC-LDPC简介(一)", Retrieved from the Internet <URL:https://www.codetd.com/article/12760864> * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114499758A (zh) * | 2022-01-10 | 2022-05-13 | 哲库科技(北京)有限公司 | 信道编码方法、装置、设备和计算机可读存储介质 |
CN114499758B (zh) * | 2022-01-10 | 2023-10-13 | 哲库科技(北京)有限公司 | 信道编码方法、装置、设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7471357B2 (ja) | 符号化方法、復号方法、装置、および装置 | |
JP7171590B2 (ja) | 情報処理方法および通信装置 | |
JP2020536432A (ja) | Polar符号化方法および装置ならびにPolar復号方法および装置 | |
WO2019158031A1 (zh) | 编码的方法、译码的方法、编码设备和译码设备 | |
WO2018166423A1 (zh) | 极化码编码的方法和装置 | |
WO2018219064A1 (zh) | 一种确定校验矩阵的方法及装置、计算机存储介质 | |
US11368241B2 (en) | Communication method and communications apparatus | |
WO2018171401A1 (zh) | 一种信息处理方法、装置及设备 | |
WO2018103556A1 (zh) | 准循环ldpc码数据处理装置及处理方法 | |
JP2022009388A (ja) | データ処理方法およびデバイス | |
US11115052B2 (en) | Information processing method and communications apparatus | |
CN111446969A (zh) | 一种级联crc码的极化码编码方法及装置 | |
CN113612579A (zh) | 基于qc_ldpc码的数据处理方法、通信装置、设备和存储介质 | |
US11463108B2 (en) | Information processing method and communications apparatus | |
JP5371623B2 (ja) | 通信システム及び受信装置 | |
WO2018028469A1 (zh) | 一种ldpc编码方法、编码装置及通信设备 | |
EP3602797A1 (en) | Puncturing of polar codes with complementary sequences | |
US20230224082A1 (en) | Retransmission method and apparatus | |
WO2019029205A1 (zh) | 编码方法及装置 | |
CN109428675B (zh) | 数据传输方法及装置 | |
CN108390739B (zh) | 数据处理的方法和装置 | |
WO2018161946A1 (zh) | 数据处理的方法和装置 | |
US10972220B2 (en) | Interleaving method and apparatus | |
CN111600613B (zh) | 一种校验方法、装置、译码器、接收机及计算机存储介质 | |
WO2020063315A1 (zh) | 信道编码方法及装置 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20211105 |
|
WD01 | Invention patent application deemed withdrawn after publication |