CN117081608A - 一种nr ldpc编译码循环移位实现装置 - Google Patents
一种nr ldpc编译码循环移位实现装置 Download PDFInfo
- Publication number
- CN117081608A CN117081608A CN202311105583.XA CN202311105583A CN117081608A CN 117081608 A CN117081608 A CN 117081608A CN 202311105583 A CN202311105583 A CN 202311105583A CN 117081608 A CN117081608 A CN 117081608A
- Authority
- CN
- China
- Prior art keywords
- cyclic shift
- network
- stage
- shift network
- module
- 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
- 125000004122 cyclic group Chemical group 0.000 title claims abstract description 241
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims abstract description 15
- 238000001914 filtration Methods 0.000 claims abstract description 4
- 239000011159 matrix material Substances 0.000 description 20
- 238000000034 method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 4
- 240000003537 Ficus benghalensis Species 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及一种NR LDPC编译码循环移位实现装置,包括控制信号生成模块、输入数据分组模块、循环移位网络模块和选通网络模块;控制信号生成模块用于根据提升因子Zc、循环移位总次数以及输入数据的偏移实时生成循环移位网络模块和选通网络模块的控制信号;输入数据分组模块用于将指定位宽的输入数据根据提升因子Zc及第一级循环网络的端口数依次输入到循环移位网络模块;循环移位网络模块根据循环移位网络模块的控制信号对输入数据进行循环移位操作;选通网络模块用于根据选通网络模块的控制信号完成对于无效数据的过滤以及输出时的选择工作。本发明能够高效快速地输出循环移位后Zc位宽的结果。
Description
技术领域
本发明涉及无线通信技术领域,特别是涉及一种NR LDPC编译码循环移位实现装置。
背景技术
信道编码技术对于无线通信系统的性能有重要影响。NR系统中下行及上行业务信道均采用准循环低密度奇偶校验编码(Quasi-Cyslic Low-Density Parity-Check Codes,QC-LDPC)作为信道编码方式。在NR系统eMBB场景下,业务数据的高吞吐率是硬性指标,而高速信道编译码的实现对提高吞吐率有重要意义。
NR标准3GPP TS 38.212中规定了NR系统所使用的QC-LDPC编码类型,其中包括两个基础矩阵BG1及BG2,并提供了51个提升因子Zc,使其结合基础矩阵能够实现不同码块长度的编译码;NR系统中QC-LDPC编码过程如下:
(1)根据H*[c p]T=0计算校验比特序列,其中p=[p0,p1,p2,......,pN+2Zc-K-1]T,编码后的输出由输入信息比特为c=c0,c1,c2,......,cK-1,K为输入信息比特长度,校验比特及填充比特组成,其中N为编码后的数据长度,Zc表示提升因子,其取值范围2~384,详细如下表:
iLS | Zc |
0 | {2,4,8,16,32,64,128,256} |
1 | {3,6,12,24,48,96,192,384} |
2 | {5,10,20,40,80,160,320} |
3 | {7,14,28,56,112,224} |
4 | {9,18,36,72,144,288} |
5 | {11,22,44,88,176,352} |
6 | {13,26,52,104,208} |
7 | {15,30,60,120,240} |
(2)H矩阵的生成:H矩阵根据基础矩阵BG及提升因子Zc得到,其中,基础矩阵BG1为46行68列矩阵,基础矩阵BG2为42行52列矩阵;对于Zc*Zc的单位阵I循环右移位Pi,j次,将得到置换矩阵I(Pi,j),其中,i表述基础矩阵的行索引,j表示基础矩阵的列索引,Pi,j根据协议中基础矩阵中的系数值得到;随后使用I(Pi,j)替换基础矩阵中非“-1”位置,使用单位阵I替换基础矩阵中的“0”位置,使用Zc*Zc的零矩阵替换基础矩阵中的“-1”位置,则得到最后的校验矩阵H。
在QC-LDPC编译码的工程实现中,如上H矩阵的生成操作均需要实现,其中对吞吐量影响最大的就是循环移位的实现,但在工程实现的时候,并非对校验矩阵中的元素做循环右移Pi,j,而是对输入的信息比特数据做Pi,j次循环左右操作。由于NR协议中规定,Zc的取值共有51种,并且从2到384,分为8个散列集,因此高效快捷并且能够灵活支持51种Zc的循环移位网络对于NR QC-LDPC编译码的实现至关重要。
目前,业内对于QC-LDPC编译码过程中的循环移位实现方式有如下两类:一类是通过Benes网络、QSN网络、桶形移位器或者Banyan网络等单一网络实现,另外一类是通过将循环移位次数增加处理,分为两级循环网络实现,比如第一级网络位QSN,第二级网络为Banyan网络。其中,第一类单一网络实现QC-LDPC编译码过程中的循环移位对于固定Zc适用,对于NR标准,跨度51种Zc,较难灵活支持;而两级循环网络则可通过两级网络结构,灵活支持51种Zc,并且对于较小的Zc,可通过第一级循环移位网路直接实现,提高了资源利用效率,但从现有技术方案来看,为了节省大Zc时循环移位网络的资源消耗,单次循环移位最大只支持到了Zc=256,对于大于256的Zc需要分两次进入完成对应的循环移位操作,该方式虽然提高了资源利用率,但是影响了吞吐量。
另外,在NR业务信道的比特级编码处理流程中,信息比特首先需要经过传输快CRC编码、码块分段以及码块CRC编码,并且一般为了提高效率,均是采用流水指定位宽的方式实现,因此输入到循环移位模块的位宽一般为指定位宽,如32bit、64bit或者128bit等,从现有技术来看,使用以上两类循环移位实现方式,输入循环移位的位宽均需要Zc位宽,因此现有技术方案均需要将指定位宽转换为Zc位宽,这对于系统的吞吐量的提高有较大影响。
综上,现有技术存在的问题有如下几个方面:(1)现有技术方案未确定具体的能够高效支持NR 51种Zc的循环移位网络;(2)现有技术方案循环移位网络输入位宽均需要Zc位宽;(3)现有技术方案,单一网络在Zc较小时资源利用效率低,两级网络在Zc较大时耗时较大。
发明内容
本发明所要解决的技术问题是提供一种NR LDPC编译码循环移位实现装置,能够以指定位宽作为输入,并能够高效快速地输出循环移位后Zc位宽的结果,提高较小Zc时的资源利用率,同时降低较大Zc时的时延消耗。
本发明解决其技术问题所采用的技术方案是:提供一种NR LDPC编译码循环移位实现装置,包括控制信号生成模块、输入数据分组模块、循环移位网络模块和选通网络模块;所述循环移位网络模块包括第一级循环移位网络和第二级循环移位网络;所述控制信号生成模块用于根据提升因子Zc、循环移位总次数以及输入数据的偏移实时生成所述循环移位网络模块和所述选通网络模块的控制信号;所述输入数据分组模块用于将指定位宽的输入数据根据提升因子Zc及所述第一级循环网络的端口数依次输入到所述循环移位网络模块;所述循环移位网络模块根据所述控制信号生成模块生成的所述循环移位网络模块的控制信号对输入数据进行循环移位操作;所述选通网络模块用于根据所述控制信号生成模块生成的所述选通网络模块的控制信号完成对于无效数据的过滤以及输出时的选择工作。
所述控制信号生成模块包括:
计算单元,用于根据提升因子Zc和第一级循环移位网络的端口数量计算第一级循环移位网络和第二级循环移位网络的循环移位次数;
第一信号生成单元,用于根据所述第一级循环移位网络和第二级循环移位网络的循环次数生成所述第一级循环移位网络和第二级循环移位网络的控制信号;
第二信号生成单元,用于根据所述提升因子Zc的起始位置相对于所述第一级循环移位网络的起始偏移、所述提升因子Zc的结束位置相对于所述第一级循环移位网络的结束偏移、以及循环移位总次数的关系,生成所述选通网络的控制信号。
所述计算单元包括:
第一比较子单元,用于将提升因子Zc和第一级循环移位网络的端口数量g1进行比较;
第一结果生成子单元,用于在所述提升因子Zc小于或等于所述第一级循环移位网络的端口数量g1时,确定所述第一级循环网络的循环移位次数s1为所述循环移位总次数s、所述第二级循环网络的循环移位次数s2为零;
第二结果生成子单元,用于在所述提升因子Zc大于所述第一级循环移位网络的端口数量g1时,通过s1=mod(s,g1)确定所述第一级循环网络的循环移位次数s1,并在qn_i+s1≥g1时,通过s2=floor(s/g1)+1确定所述第二级循环网络的循环移位次数s2,在qn_i+s1<g1时,通过s2=floor(s/g1)确定所述第二级循环网络的循环移位次数,其中,qn_i表示第二级循环移位网络的第i个端口,mod()表示求余运算,floor()表示向下取整运算。
所述第一信号生成单元通过对所述第一级循环移位网络和第二级循环移位网络的循环次数进行二进制编码,得到所述第一级循环移位网络和第二级循环移位网络的控制信号。
所述第二信号生成单元包括:
第二比较子单元,用于将循环移位总次数s与所述提升因子Zc的起始位置相对于所述第一级循环移位网络的起始偏移pre_f进行比较;
第一选通规则确定子单元,用于在循环移位总次数s小于或等于所述第一级循环移位网络的起始偏移pre_f时,所述选通网络的输出switch_out表示为:switch_out=[switch_in(pre_f+1:Zc+pre_f-s)switch_in(pre_f-s+1:pre_f)];
第二选通规则确定子单元,用于在循环移位总次数s大于所述第一级循环移位网络的起始偏移pre_f时,所述选通网络的输出switch_out表示为:switch_out=[switch_in(pre_f+1:Zc+pre_f-s)
switch_in(Zc+2*pre_f+bac_f-s+1:Zc+pre_f+bac_f)switch_in(1:pre_f)];
其中,switch_in为所述选通网络的输入,bac_f为所述提升因子Zc的结束位置相对于所述第一级循环移位网络的结束偏移。
有益效果
由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明采用两级循环移位网络,能够灵活支持51种Zc,并能以指定位宽作为输入,并能够较现有技术方案更高效快速的输出循环移位后Zc位宽的结果。可减少现有技术位宽转换的消耗,可提高较小Zc时的资源利用率,可减少较大Zc的处理时延,可灵活支持51种Zc,本发明在Zc较小时,可以通过第一级循环移位网络即可完成对应的循环移位操作,在Zc较大时,通过两级循环网络完成对应的循环移位操作,即提高了较小Zc时的资源利用率,也有效降低了较大Zc时的时延消耗。
附图说明
图1是本发明实施方式NR LDPC编译码循环移位实现装置的结构方框图;
图2是本发明实施方式中提升因子Zc在当前pre_rotator中的起始位置及结束位置偏移示意图;
图3是实施例1的提升因子Zc在当前pre_rotator中的起始位置及结束位置偏移示意图;
图4是实施例2的提升因子Zc在当前pre_rotator中的起始位置及结束位置偏移示意图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明的实施方式涉及一种NR LDPC编译码循环移位实现装置,如图1所示,包括控制信号生成模块、输入数据分组模块、循环移位网络模块和选通网络模块;所述循环移位网络模块包括第一级循环移位网络和第二级循环移位网络;所述控制信号生成模块用于根据提升因子Zc、循环移位总次数以及输入数据的偏移实时生成所述循环移位网络模块和所述选通网络模块的控制信号;所述输入数据分组模块用于将指定位宽的输入数据根据提升因子Zc及所述第一级循环网络的端口数依次输入到所述循环移位网络模块;所述循环移位网络模块根据所述控制信号生成模块生成的所述循环移位网络模块的控制信号对输入数据进行循环移位操作;所述选通网络模块用于根据所述控制信号生成模块生成的所述选通网络模块的控制信号完成对于无效数据的过滤以及输出时的选择工作。本实施方式中第一级循环移位网络为pre_rotator,可使用桶形移位器实现,第二级循环移位网络采用QSN实现。
其中,所述控制信号生成模块包括:计算单元,用于根据提升因子Zc和第一级循环移位网络的端口数量计算第一级循环移位网络和第二级循环移位网络的循环移位次数;第一信号生成单元,用于根据所述第一级循环移位网络和第二级循环移位网络的循环次数生成所述第一级循环移位网络和第二级循环移位网络的控制信号;第二信号生成单元,用于根据所述提升因子Zc的起始位置相对于所述第一级循环移位网络的起始偏移、所述提升因子Zc的结束位置相对于所述第一级循环移位网络的结束偏移、以及循环移位总次数的关系,生成所述选通网络的控制信号。
计算单元包括:第一比较子单元,用于将提升因子Zc和第一级循环移位网络的端口数量g1进行比较;第一结果生成子单元,用于在所述提升因子Zc小于或等于所述第一级循环移位网络的端口数量g1时,确定所述第一级循环网络的循环移位次数s1为所述循环移位总次数s、所述第二级循环网络的循环移位次数s2为零;第二结果生成子单元,用于在所述提升因子Zc大于所述第一级循环移位网络的端口数量g1时,通过s1=mod(s,g1)确定所述第一级循环网络的循环移位次数s1,并在qn_i+s1≥g1时,通过s2=floor(s/g1)+1确定所述第二级循环网络的循环移位次数s2,在qn_i+s1<g1时,通过s2=floor(s/g1)确定所述第二级循环网络的循环移位次数,其中,qn_i表示第二级循环移位网络的第i个端口,mod()表示求余运算,floor()表示向下取整运算。
所述第一信号生成单元通过对所述第一级循环移位网络和第二级循环移位网络的循环次数进行二进制编码,得到所述第一级循环移位网络和第二级循环移位网络的控制信号。
所述第二信号生成单元包括:第二比较子单元,用于将循环移位总次数s与所述提升因子Zc的起始位置相对于所述第一级循环移位网络的起始偏移pre_f进行比较;第一选通规则确定子单元,用于在循环移位总次数s小于或等于所述第一级循环移位网络的起始偏移pre_f时,所述选通网络的输出switch_out表示为:switch_out=[switch_in(pre_f+1:Zc+pre_f-s)switch_in(pre_f-s+1:pre_f)];第二选通规则确定子单元,用于在循环移位总次数s大于所述第一级循环移位网络的起始偏移pre_f时,所述选通网络的输出switch_out表示为:switch_out=[switch_in(pre_f+1:Zc+pre_f-s)switch_in(Zc+2*pre_f+bac_f-s+1:Zc+pre_f+bac_f)switch_in(1:pre_f)];其中,switch_in为所述选通网络的输入,bac_f为所述提升因子Zc的结束位置相对于所述第一级循环移位网络的结束偏移。
采用本实施方式的NR LDPC编译码循环移位实现装置进行循环移位时,对应的步骤如下:
第一步:记前级输入循环移位网络的位宽为w,第一级循环移位网络端口数为g1,个数为pn=w/g1(可整除),索引为pr_i,范围为0~pn-1,第二级循环移位网络端口数为g2=384/g1,个数为g1,索引为qn_i,范围为0~g1,循环左移次数Pi,j为s,每个提升因子Zc的起始位置在第一级循环移位网络中的偏移pre_f,以及每个提升因子Zc的结束位置距离第一级循环移位网络结束的偏移bac_f,示意图如图2所示;
第二步:计算两级循环移位网络每一级的循环移位次数,当Zc<=g1时,第一级循环移位网络即可实现对应的循环左移s次,第二级循环移位网络可直接通过,即第一级循环移位网络的循环左移次数s1=s,第二级循环移位网络的循环左移次数s2=0;当Zc>g1时,pre_rotator需要循环左移的次数为s1=mod(s,g1),当qn_i+s1>=g1时,QSN循环左移次数为s2=floor(s/g1)+1,否则为s2=floor(s/g1);
第三步:根据第二步中确定的pre_rotator及QSN循环左移的次数s1和s2,生成两级循环移位的控制信号,即s1,s2的二进制表达,如g1=16,s1=5,则pre_rotator对应的控制信号为[0101],g2=24,s2=2,则s2对应的移位控制信号为[00010],合并控制信号为[g2-s2个“1”,s2个“0”];
第四步:根据第一步中当前提升因子Zc起始位置相对于其pre_rotator的偏移pre_f、当前提升因子Zc结束位置相对于其pre_rotator的偏移bac_f以及循环移位次数s的关系,生成选通网络的控制信号,选通网路根据最大Zc为384实现,当Zc<384时,只有低位的Zc+pre_f+bac_f有效,记选通网络的输入为switch_in,则选通规则如下:当s<=pre_f时,switch_out=[switch_in(pre_f+1:Zc+pre_f-s)switch_in(pre_f-s+1:pre_f)],否则,switch_out=[switch_in(pre_f+1:Zc+pre_f-s)
switch_in(Zc+2*pre_f+bac_f-s+1:Zc+pre_f+bac_f)switch_in(1:pre_f)];
第五步:位宽为w的数据输入到输入数据分组模块,该模块控制每个Zc的数据进入循环移位网络的pre_rotator,其中可直接完成pn个pre_rotator的数据输入;
第六步:pn个pre_rotator可根据其对应的控制信号完成第一级的循环左移,当Zc<=g1时,pre_rotator直接输出到选通网络,并且选通网络可进行多个Zc的输出,即第八步;否则,pre_rotator输出到QSN,进行第七步;
第七步:当Zc>g1时,pre_rotator会输出到g1个QSN,需要注意的是,当Zc大于g1,小于384的时候,同一个Zc的数据使用pre_rotator的个数大于1,但小于等于pn,但是对应的g1个QSN需要全部参与,但实际有效数据小于QSN端口数g2,因此QSN网络内部输出时会进行选通,另外可根据资源能力及处理需求,实现多套g1个QSN网络;数据进入QSN后,进行对应次数s2的循环左移,数据输出到选通网络;
第八步:当Zc<=192时,384的选通网络可实现多个Zc的选通,只要pre_rotator输出到对应网络即可,并将对应控制信号输出到对应端口;当Zc>192时,选通网络每次可进行1个Zc数据的选通。选通网路输出后即为Zc位宽;
第九步:选通网络输出的Zc位宽的数据即为循环移位后的结果,可进入QC-LDPC编译码的后级模块。
下面以前级输入循环移位网络位宽为32bit,pre_rotator端口数为16,则pre_rotator的个数为2,QSN端口数为24,QSN个数为16,Zc分别为7、18进行举例说明。
实施例1:
第一步:Zc为7,循环左移次数Pi,j为4,Zc的起始位置在第一级循环移位网络中的偏移pre_f=4,Zc的结束位置距离第一级循环移位网络结束的偏移bac_f=5,如图3所示;
第二步:计算两级循环移位网络每一级的循环移位次数,由于Zc<=g1,第一级循环移位网络即可实现对应的循环左移s次,第二级循环移位网络可直接bypass,即s1=s=4,s2=0;
另外,由于有两个pre_rotator,并且不需要经过QSN,因此,两个pre_rotator可并行处理,即0#pre_rotator处理一个Zc的循环移位,1#pre_rotator处理另外一个Zc的循环移位,并且两个可直接输出到对应选通网络的输出位置,下面以一个为例说明后续处理;
第三步:根据第二步中确定的pre_rotator循环左移的次数s1,s2,生成pre_rotator循环移位的控制信号,即s1的二级制表达[0100];
第四步:根据第一步中当前Zc起始位置相对于其pre_rotator的偏移pre_f、当前Zc结束位置相对于其pre_rotator的偏移bac_f以及循环移位次数s的关系,生成选通网络的控制信号,每个Zc所需要占用的端口数为Zc+pre_f+bac_f,记选通网络的输入为switch_in,由于s<=pre_f,因此选通网络输出信号使用如下公式确定:switch_out=[switch_in(pre_f+1:Zc+pre_f-s)switch_in(pre_f-s+1:pre_f)],需要注意的是,选通网络信道并非只是说明哪些端口输出,而且还要根据对应顺序将数据输出;
第五步:位宽为32的数据输入到输入数据分组模块,该模块控制每个Zc的数据进入循环移位网络的pre_rotator,其中可直接完成2个pre_rotator的数据输入,如w=32,Zc=7,g1=16,因此每个pre_rotator输入中包含的不仅仅是一个Zc的数据,因此输入数据分组模块需要控制输入到pre_rotator的次数;
第六步:2个pre_rotator可根据其对应的控制信号完成第一级的循环左移,由于Zc<g,pre_rotator直接输出到选通网络,选通网络进行多个Zc的输出;
第八步:由于Zc<=192,384的选通网络可实现多个Zc的选通,只要pre_rotator输出到对应网络即可,并将对应控制信号输出到对应端口;
第九步:选通网络输出的Zc位宽的数据即为循环移位后的结果,可进入QC-LDPC编译码的后级模块。
实施例2:
第一步:Zc为24,循环左移次数Pi,j为5,Zc的起始位置在第一级循环移位网络中的偏移pre_f=6,Zc的结束位置距离第一级循环移位网络结束的偏移bac_f=2,如图4所示;
第二步:计算两级循环移位网络每一级的循环移位次数,Zc>g1,pre_rotator需要循环左移的次数为s1=mod(s,g1)=5,当qn_i+s1>=g1时,QSN循环左移次数为s2=floor(s/g1)+1,否则为s2=floor(s/g1),即qn_i=0~10时,QSN循环左移次数为0,当qn_i=11~15时,QSN循环左移次数为1;
第三步:根据第二步中确定的pre_rotator及QSN循环左移的次数s1,s2,生成两级循环移位的控制信号,即s1,s2的二进制表达,如s1=5,则pre_rotator对应的控制信号为[0101],s2=0时,则s2对应的移位控制信号为[00000],合并控制信号为[24个“1”],s2=1时,则s2对应的移位控制信号为[00001],合并控制信号为[23个“1”,1个0];
第四步:根据第一步中当前Zc起始位置相对于其pre_rotator的偏移pre_f、当前Zc结束位置相对于其pre_rotator的偏移bac_f以及循环移位次数s的关系,生成选通网络的控制信号记选通网络的输入为switch_in,则选通规则如下:当s<=pre_f时,switch_out=[switch_in(pre_f+1:Zc+pre_f-s)switch_in(pre_f-s+1:pre_f)],否则,switch_out=[switch_in(pre_f+1:Zc+pre_f-s)
switch_in(Zc+2*pre_f+bac_f-s+1:Zc+pre_f+bac_f)switch_in(1:pre_f)];
第五步:位宽为w的数据输入到输入数据分组模块,该模块控制每个Zc的数据进入循环移位网络的pre_rotator,其中可直接完成pn个pre_rotator的数据输入;
第六步:2个pre_rotator可根据其对应的控制信号完成第一级的循环左移,pre_rotator输出到QSN,进行第七步;
第七步:当Zc>g时,pre_rotator会输出到g1个QSN,需要注意的是,当Zc大于g1,小于384的时候,同一个Zc的数据使用pre_rotator的个数大于1,但小于等于pn,但是对应的g1个QSN需要全部参与,但实际有效数据小于QSN端口数g2,因此QSN网络内部输出时会进行选通,另外可根据资源能力及处理需求,实现多套g1个QSN网络;数据进入QSN后,进行对应次数s2的循环左移,数据输出到选通网络;
第八步:当Zc<=192时,384的选通网络可实现多个Zc的选通,只要pre_rotator输出到对应网络即可,并将对应控制信号输出到对应端口;当Zc>192时,选通网络每次可进行1个Zc数据的选通。选通网路输出后即为Zc位宽;
第九步:选通网络输出的Zc位宽的数据即为循环移位后的结果,可进入QC-LDPC编译码的后级模块。
不难发现,本发明采用两级循环移位网络,能够灵活支持51种Zc,并能以指定位宽作为输入,并能够较现有技术方案更高效快速的输出循环移位后Zc位宽的结果。可减少现有技术位宽转换的消耗,可提高较小Zc时的资源利用率,可减少较大Zc的处理时延,可灵活支持51种Zc,本发明在Zc较小时,可以通过第一级循环移位网络即可完成对应的循环移位操作,在Zc较大时,通过两级循环网络完成对应的循环移位操作,即提高了较小Zc时的资源利用率,也有效降低了较大Zc时的时延消耗。
Claims (5)
1.一种NR LDPC编译码循环移位实现装置,其特征在于,包括控制信号生成模块、输入数据分组模块、循环移位网络模块和选通网络模块;所述循环移位网络模块包括第一级循环移位网络和第二级循环移位网络;所述控制信号生成模块用于根据提升因子Zc、循环移位总次数以及输入数据的偏移实时生成所述循环移位网络模块和所述选通网络模块的控制信号;所述输入数据分组模块用于将指定位宽的输入数据根据提升因子Zc及所述第一级循环网络的端口数依次输入到所述循环移位网络模块;所述循环移位网络模块根据所述控制信号生成模块生成的所述循环移位网络模块的控制信号对输入数据进行循环移位操作;所述选通网络模块用于根据所述控制信号生成模块生成的所述选通网络模块的控制信号完成对于无效数据的过滤以及输出时的选择工作。
2.根据权利要求1所述的NR LDPC编译码循环移位实现装置,其特征在于,所述控制信号生成模块包括:
计算单元,用于根据提升因子Zc和第一级循环移位网络的端口数量计算第一级循环移位网络和第二级循环移位网络的循环移位次数;
第一信号生成单元,用于根据所述第一级循环移位网络和第二级循环移位网络的循环次数生成所述第一级循环移位网络和第二级循环移位网络的控制信号;
第二信号生成单元,用于根据所述提升因子Zc的起始位置相对于所述第一级循环移位网络的起始偏移、所述提升因子Zc的结束位置相对于所述第一级循环移位网络的结束偏移、以及循环移位总次数的关系,生成所述选通网络的控制信号。
3.根据权利要求2所述的NR LDPC编译码循环移位实现装置,其特征在于,所述计算单元包括:
第一比较子单元,用于将提升因子Zc和第一级循环移位网络的端口数量g1进行比较;
第一结果生成子单元,用于在所述提升因子Zc小于或等于所述第一级循环移位网络的端口数量g1时,确定所述第一级循环网络的循环移位次数s1为所述循环移位总次数s、所述第二级循环网络的循环移位次数s2为零;
第二结果生成子单元,用于在所述提升因子Zc大于所述第一级循环移位网络的端口数量g1时,通过s1=mod(s,g1)确定所述第一级循环网络的循环移位次数s1,并在qn_i+s1≥g1时,通过s2=floor(s/g1)+1确定所述第二级循环网络的循环移位次数s2,在
qn_i+s1<g1时,通过s2=floor(s/g1)确定所述第二级循环网络的循环移位次数,其中,qn_i表示第二级循环移位网络的第i个端口,mod()表示求余运算,floor()表示向下取整运算。
4.根据权利要求2所述的NR LDPC编译码循环移位实现装置,其特征在于,所述第一信号生成单元通过对所述第一级循环移位网络和第二级循环移位网络的循环次数进行二进制编码,得到所述第一级循环移位网络和第二级循环移位网络的控制信号。
5.根据权利要求2所述的NR LDPC编译码循环移位实现装置,其特征在于,所述第二信号生成单元包括:
第二比较子单元,用于将循环移位总次数s与所述提升因子Zc的起始位置相对于所述第一级循环移位网络的起始偏移pre_f进行比较;
第一选通规则确定子单元,用于在循环移位总次数s小于或等于所述第一级循环移位网络的起始偏移pre_f时,所述选通网络的输出switch_out表示为:
switch_out=[switch_in(pre_f+1:Zc+pre_f-s)switch_in(pre_f-s+1:pre_f)];
第二选通规则确定子单元,用于在循环移位总次数s大于所述第一级循环移位网络的起始偏移pre_f时,所述选通网络的输出switch_out表示为:switch_out=[switch_in(pre_f+1:Zc+pre_f-s)
switch_in(Zc+2*pre_f+bac_f-s+1:Zc+pre_f+bac_f)switch_in(1:pre_f)];
其中,switch_in为所述选通网络的输入,bac_f为所述提升因子Zc的结束位置相对于所述第一级循环移位网络的结束偏移。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311105583.XA CN117081608A (zh) | 2023-08-30 | 2023-08-30 | 一种nr ldpc编译码循环移位实现装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311105583.XA CN117081608A (zh) | 2023-08-30 | 2023-08-30 | 一种nr ldpc编译码循环移位实现装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117081608A true CN117081608A (zh) | 2023-11-17 |
Family
ID=88702123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311105583.XA Pending CN117081608A (zh) | 2023-08-30 | 2023-08-30 | 一种nr ldpc编译码循环移位实现装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117081608A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515761A (zh) * | 2016-01-22 | 2016-04-20 | 成都三零嘉微电子有限公司 | 一种高速多模式循环移位的电路 |
US20180226992A1 (en) * | 2017-02-03 | 2018-08-09 | Huawei Technologies Co., Ltd. | Offset Lifting Method |
CN110278000A (zh) * | 2019-07-16 | 2019-09-24 | 南京中科晶上通信技术有限公司 | 基于dvb-s2标准的ldpc码并行译码fpga实现架构及译码方法 |
CN111162797A (zh) * | 2020-01-21 | 2020-05-15 | 华侨大学 | 一种速率兼容的5g ldpc码的编码装置及编码方法 |
CN111404555A (zh) * | 2020-02-16 | 2020-07-10 | 西安电子科技大学 | 一种循环移位网络控制方法、系统、存储介质、译码器 |
CN112332857A (zh) * | 2020-10-23 | 2021-02-05 | 中国科学院计算技术研究所 | 一种用于ldpc码的循环移位网络系统及循环移位方法 |
CN113114271A (zh) * | 2021-03-11 | 2021-07-13 | 苏州华兴源创科技股份有限公司 | 低密度奇偶校验编码装置和方法 |
CN115940966A (zh) * | 2023-01-05 | 2023-04-07 | 中科芯集成电路有限公司 | 一种基于分块压缩运算方法的5g nr qc-ldpc编码电路 |
-
2023
- 2023-08-30 CN CN202311105583.XA patent/CN117081608A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515761A (zh) * | 2016-01-22 | 2016-04-20 | 成都三零嘉微电子有限公司 | 一种高速多模式循环移位的电路 |
US20180226992A1 (en) * | 2017-02-03 | 2018-08-09 | Huawei Technologies Co., Ltd. | Offset Lifting Method |
CN110278000A (zh) * | 2019-07-16 | 2019-09-24 | 南京中科晶上通信技术有限公司 | 基于dvb-s2标准的ldpc码并行译码fpga实现架构及译码方法 |
CN111162797A (zh) * | 2020-01-21 | 2020-05-15 | 华侨大学 | 一种速率兼容的5g ldpc码的编码装置及编码方法 |
CN111404555A (zh) * | 2020-02-16 | 2020-07-10 | 西安电子科技大学 | 一种循环移位网络控制方法、系统、存储介质、译码器 |
CN112332857A (zh) * | 2020-10-23 | 2021-02-05 | 中国科学院计算技术研究所 | 一种用于ldpc码的循环移位网络系统及循环移位方法 |
CN113114271A (zh) * | 2021-03-11 | 2021-07-13 | 苏州华兴源创科技股份有限公司 | 低密度奇偶校验编码装置和方法 |
CN115940966A (zh) * | 2023-01-05 | 2023-04-07 | 中科芯集成电路有限公司 | 一种基于分块压缩运算方法的5g nr qc-ldpc编码电路 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10608668B2 (en) | Method and device for interleaving data | |
WO2017121334A1 (zh) | 一种数据处理的方法和装置 | |
KR102386191B1 (ko) | 폴라 코드용의 블록 단위의 병렬 동결 비트 생성 | |
CN102694625A (zh) | 一种循环冗余校验辅助的极化码译码方法 | |
US10666389B2 (en) | Method and device for polar code rate matching | |
CN101902228B (zh) | 快速循环冗余校验编码方法及装置 | |
CN108880566A (zh) | 一种Polar码传输方法及装置 | |
WO2020075240A1 (en) | Polar coding with distributed-crc and crc-aided successive cancellation decoding | |
Chen et al. | Design of polar coded 64-QAM | |
CN101599890B (zh) | 一种通信系统中的数据传输系统和方法 | |
CN102546089A (zh) | 循环冗余校验crc码的实现方法及装置 | |
WO2019001436A1 (zh) | 一种Polar码的编码方法及装置 | |
US8555133B2 (en) | Rate matching apparatus and rate matching method thereof | |
US8510623B2 (en) | Encoder, transmission device, and encoding process | |
CN101350626B (zh) | 一种Turbo码编码装置及方法 | |
CN117081608A (zh) | 一种nr ldpc编译码循环移位实现装置 | |
CN104486033A (zh) | 一种基于c-ran平台的下行多模信道编码系统及方法 | |
CN109150397B (zh) | 一种构造极化码序列的方法及装置 | |
CN102769506B (zh) | 一种解速率匹配的解交织方法和装置 | |
CN101854179B (zh) | 一种应用于ldpc译码的5比特量化方法 | |
KR100874484B1 (ko) | 준순환 저밀도 패리티 검사 부호화 방법 및 장치 | |
CN208316741U (zh) | 基于极化码的高效率检测器 | |
CN102571107A (zh) | LTE系统中高速并行Turbo码的解码系统及方法 | |
CN101192836A (zh) | 交织器和编/译码器以及交织实现方法 | |
CN103095310B (zh) | 一种适用于无线信道的lt码的译码电路 |
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 |