CN117294315A - Ldpc的编译码方法和相关装置 - Google Patents
Ldpc的编译码方法和相关装置 Download PDFInfo
- Publication number
- CN117294315A CN117294315A CN202210688993.0A CN202210688993A CN117294315A CN 117294315 A CN117294315 A CN 117294315A CN 202210688993 A CN202210688993 A CN 202210688993A CN 117294315 A CN117294315 A CN 117294315A
- Authority
- CN
- China
- Prior art keywords
- matrix
- check matrix
- integer
- check
- row
- 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
- 238000000034 method Methods 0.000 title claims abstract description 109
- 239000011159 matrix material Substances 0.000 claims abstract description 1109
- 108010003272 Hyaluronate lyase Proteins 0.000 claims description 155
- 238000004891 communication Methods 0.000 claims description 84
- 125000004122 cyclic group Chemical group 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 26
- 230000005540 biological transmission Effects 0.000 description 24
- 230000008569 process Effects 0.000 description 16
- 230000007480 spreading Effects 0.000 description 13
- 238000003892 spreading Methods 0.000 description 13
- 238000013461 design Methods 0.000 description 12
- 238000001297 coherence probe microscopy Methods 0.000 description 9
- 238000004904 shortening Methods 0.000 description 8
- 238000004088 simulation Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 208000011580 syndromic disease Diseases 0.000 description 2
- OVGWMUWIRHGGJP-WVDJAODQSA-N (z)-7-[(1s,3r,4r,5s)-3-[(e,3r)-3-hydroxyoct-1-enyl]-6-thiabicyclo[3.1.1]heptan-4-yl]hept-5-enoic acid Chemical compound OC(=O)CCC\C=C/C[C@@H]1[C@@H](/C=C/[C@H](O)CCCCC)C[C@@H]2S[C@H]1C2 OVGWMUWIRHGGJP-WVDJAODQSA-N 0.000 description 1
- BOFUZZAQNVYZFF-UHFFFAOYSA-N 2-(3-chlorophenyl)-3-methylmorpholine Chemical compound CC1NCCOC1C1=CC=CC(Cl)=C1 BOFUZZAQNVYZFF-UHFFFAOYSA-N 0.000 description 1
- 101100161473 Arabidopsis thaliana ABCB25 gene Proteins 0.000 description 1
- 101000988961 Escherichia coli Heat-stable enterotoxin A2 Proteins 0.000 description 1
- 101100096893 Mus musculus Sult2a1 gene Proteins 0.000 description 1
- 101150081243 STA1 gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 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
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 229920002239 polyacrylonitrile Polymers 0.000 description 1
- 201000006292 polyarteritis nodosa Diseases 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 239000002699 waste material Substances 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
-
- 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
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
Abstract
本申请公开了一种LDPC的编译码方法和相关装置,本申请应用于支持IEEE802.11ax下一代Wi‑Fi协议,Wi‑Fi8等802.11系列协议的无线局域网系统,还可以应用于基于UWB的无线个人局域网系统。该方法包括:根据校验矩阵,对第一比特序列进行低密度奇偶校验LDPC编码,得到第一数据包,所述校验矩阵包括第一校验矩阵和第二校验矩阵,所述第一校验矩阵和所述第二校验矩阵均符合第一基矩阵,所述第一校验矩阵的码长和所述第二校验矩阵的码长不同;发送所述第一数据包。通过同一个基矩阵,即第一基矩阵,扩展得到第一校验矩阵和第二校验矩阵,能够降低编码的复杂度。
Description
技术领域
本申请涉及通信技术领域,尤其涉及LDPC的编译码方法和相关装置。
背景技术
IEEE802.11n/ac/ax/be等无线局域网(wireless local area networks,WLAN)传输标准主要研究在大带宽场景下提升用户的体验,包括提升用户平均吞吐量以及电池类供电设备的能量使用效率。60GHz大带宽场景需要支持在有限的频率和功率资源上实现数据、视频等业务的高速可靠传输,因此需要高可靠性和高效率的信道编译码方案。在信道编码领域,Turbo码和低密度奇偶校验(low-density parity-check,LDPC)码是目前应用最成熟和广泛的两种信道编码方法,它们都有接近香农(Shannon)限的性能。与Turbo码相比,LDPC码具有:不需要深度交织器即可获得很好的误码性能;具有更好的误帧率性能;错误平层大大降低;支持并行译码,译码延时小等优点。
因此,LDPC码已成为IEEE802.11n/ac/ax等低频短距WLAN通信系统的标准信道编码方案,在IEEE802.11ax大于等于40MHz带宽情况下成为必选信道编码方案。基于此,可考虑针对下一代WLAN标准或超宽带(ultra wide band,UWB)设计新的LDPC码,以进一步提高下一代WLAN系统或UWB系统的可靠性和系统性能。
发明内容
本申请实施例公开了一种LDPC的编译码方法和相关装置,能够降低编码的复杂度。
第一方面,本申请实施例提供一种LDPC码的编码方法,该方法包括:根据校验矩阵,对第一比特序列进行低密度奇偶校验LDPC编码,得到第一数据包,所述校验矩阵包括第一校验矩阵和第二校验矩阵,所述第一校验矩阵和所述第二校验矩阵均符合第一基矩阵,所述第一校验矩阵的码长和所述第二校验矩阵的码长不同;发送所述第一数据包。
本申请实施例中,第一校验矩阵和第二校验矩阵均符合第一基矩阵。通过同一个基矩阵,即第一基矩阵,扩展得到不同码长的第一校验矩阵和第二校验矩阵。实现多个基矩阵与实现一个基矩阵相比,需要更大的功耗以及提升编码复杂度。本申请实施例中,通过一个基矩阵扩展得到多个校验矩阵,仅需要实现一个基矩阵,而不是多个基矩阵,能够降低硬件的功耗,以及降低编码的复杂度。
在一种可能的实现方式中,所述根据校验矩阵,对第一比特序列进行低密度奇偶校验LDPC编码,得到第一数据包包括:在所述第一比特序列的长度位于第一区间的情况下,根据所述第一校验矩阵对所述第一比特序列进行低密度奇偶校验LDPC编码,得到所述第一数据包;或者,在所述第一比特序列的长度位于第二区间的情况下,根据所述第二校验矩阵对所述第一比特序列进行低密度奇偶校验LDPC编码,得到所述第一数据包;所述第一区间和所述第二区间不重叠。
在该实现方式中,根据第一比特序列的长度灵活地选择恰当码长的校验矩阵对该第一比特序列进行LDPC编码。也就是说,根据第一比特序列的长度可扩展得到最合理的校验矩阵来进行LDPC编码,可提高资源利用率。
第二方面,本申请实施例提供一种LDPC码的译码方法,该方法包括:获取接收到的第一信道接收序列对应的第一对数似然比LLR序列;根据校验矩阵,对所述第一LLR序列进行译码,所述校验矩阵包括第一校验矩阵和第二校验矩阵,所述第一校验矩阵和所述第二校验矩阵均符合第一基矩阵,所述第一校验矩阵的码长和所述第二校验矩阵的码长不同。
本申请实施例中,第一校验矩阵和第二校验矩阵均符合第一基矩阵。通过同一个基矩阵,即第一基矩阵,扩展得到不同码长的第一校验矩阵和第二校验矩阵。实现多个基矩阵与实现一个基矩阵相比,需要更大的功耗以及提升编码复杂度。本申请实施例中,通过一个基矩阵扩展得到多个校验矩阵,仅需要实现一个基矩阵,而不是多个基矩阵,能够降低硬件的功耗,以及降低编码的复杂度。
在第一方面和第二方面的一种可能的实现方式中,所述第一校验矩阵中的第一位置的循环位移矩阵CPM的扩展因子具体值为b,所述第一校验矩阵中的第一位置的CPM的扩展因子为Z1,所述第二校验矩阵中的第一位置的CPM的扩展因子具体值为(b mod Z),所述第二校验矩阵中的第一位置的CPM的扩展因子为Z2,所述Z、所述Z1、所述Z2均为大于0的整数,所述Z1大于或等于所述Z,所述Z2小于所述Z。第一位置可以是第一校验矩阵中的任意一个位置。可选的,Z为27的整倍数,例如27、54、81等。
在该实现方式中,第一校验矩阵中的第一位置的CPM的扩展因子具体值为b,第二校验矩阵中的第一位置的CPM的扩展因子具体值为(b mod Z)。通过第一基矩阵扩展得到第一校验矩阵和第二校验矩阵,仅需要实现第一基矩阵,需要实现多个基矩阵,能够降低硬件的功耗,以及降低编码的复杂度。
在第一方面和第二方面的一种可能的实现方式中,所述第一校验矩阵中的第一位置的CPM的扩展因子具体值为b,所述第一校验矩阵中的第一位置的CPM的扩展因子为Z3,所述第二校验矩阵中的第一位置的CPM的扩展因子具体值为b、(b+Z)、(b+2Z)中的任一个,所述第二校验矩阵中的第一位置的CPM的扩展因子为Z4,所述Z、所述Z3、所述Z4均为大于0的整数,所述Z3小于所述Z,所述Z4大于或等于所述Z。第一位置可以是第一校验矩阵中的任意一个位置。可选的,Z和Z4均为27的整倍数,例如Z为27,Z4为54、81等。
在该实现方式中,第一校验矩阵中的第一位置的CPM的扩展因子具体值为b,第二校验矩阵中的第一位置的CPM的扩展因子具体值为b、(b+Z)、(b+2Z)中的任一个。通过第一基矩阵扩展得到第一校验矩阵和第二校验矩阵,仅需要实现第一基矩阵,不需要实现多个基矩阵,能够降低硬件实现的复杂度、功耗。
在第一方面和第二方面的一种可能的实现方式中,所述第一基矩阵对应于原校验矩阵,所述原校验矩阵中的CPM的扩展因子为Z,所述原校验矩阵的第一位置的CPM的扩展因子具体值为b,所述第一校验矩阵中的第一位置的CPM的扩展因子具体值为b,所述第一校验矩阵中的第一位置的CPM的扩展因子为Z1,所述第二校验矩阵中的第一位置的CPM的扩展因子具体值为(b mod Z),所述第二校验矩阵中的第一位置的CPM的扩展因子为Z2,所述Z、所述Z1、所述Z2均为大于0的整数,所述Z1大于或等于所述Z,所述Z2小于所述Z。可选的,Z为27的整倍数,例如27、54、81等。可选的,所述校验矩阵还包括所述原校验矩阵。
在该实现方式中,第一校验矩阵中的第一位置的循环位移矩阵CPM的扩展因子具体值为b,第二校验矩阵中的第一位置的CPM的扩展因子具体值为(b mod Z);能够快速地扩展得到所需的校验矩阵。
在第一方面和第二方面的一种可能的实现方式中,所述第一基矩阵对应于原校验矩阵,所述原校验矩阵中的CPM的扩展因子为Z,所述原校验矩阵的第一位置的CPM的扩展因子具体值为b,所述第一校验矩阵中的第一位置的CPM的扩展因子具体值为(b mod Z),所述第一校验矩阵中的第一位置的CPM的扩展因子为Z3,所述第二校验矩阵中的第一位置的CPM的扩展因子具体值为b、(b+Z)、(b+2Z)中的任一个,所述第二校验矩阵中的第一位置的CPM的扩展因子为Z4,所述Z、所述Z3、所述Z4均为大于0的整数,所述Z3小于所述Z,所述Z4大于或等于所述Z。可选的,Z和Z4均为27的整倍数,例如Z为27,Z4为54、81等。
在该实现方式中,第一校验矩阵中的第一位置的CPM的扩展因子具体值为(b modZ),第二校验矩阵中的第一位置的CPM的扩展因子具体值为b、(b+Z)、(b+2Z)中的任一个,能够快速地扩展得到所需的校验矩阵。
在第一方面和第二方面的一种可能的实现方式中,所述方法还包括:根据所述第一基矩阵扩展得到原校验矩阵,所述原校验矩阵中的CPM的扩展因子为Z;根据所述原校验矩阵,得到所述第一校验矩阵或者所述第二校验矩阵,所述第一校验矩阵中的第一位置的CPM的扩展因子为Z1,所述第二校验矩阵中的第一位置的CPM的扩展因子为Z2,所述原校验矩阵的第一位置的循环位移矩阵CPM的扩展因子具体值为b,所述第一校验矩阵中的第一位置的循环位移矩阵CPM的扩展因子具体值为b,所述第二校验矩阵中的第一位置的CPM的扩展因子具体值为(b mod Z),所述Z、所述Z1、所述Z2均为大于0的整数,所述Z1大于或等于所述Z,所述Z2小于所述Z。原校验矩阵可以是下文图6、图14或图15所示的矩阵。
在该实现方式中,根据原校验矩阵,得到第一校验矩阵或者第二校验矩阵;可以快速得到所需的校验矩阵。
在第一方面和第二方面的一种可能的实现方式中,所述方法还包括:根据所述第一基矩阵扩展得到原校验矩阵,所述原校验矩阵中的CPM的扩展因子为Z;根据所述原校验矩阵,得到所述第一校验矩阵或者所述第二校验矩阵,所述第一校验矩阵中的第一位置的CPM的扩展因子为Z3,所述第二校验矩阵中的第一位置的CPM的扩展因子为Z4,所述原校验矩阵的第一位置的循环位移矩阵CPM的扩展因子具体值为b,所述第一校验矩阵中的第一位置的CPM的扩展因子具体值为(b mod Z),所述第二校验矩阵中的第一位置的CPM的扩展因子具体值为b、(b+Z)、(b+2Z)中的任一个,所述Z、所述Z3、所述Z4均为大于0的整数,所述Z3小于所述Z,所述Z4大于或等于所述Z。可选的,Z和Z4均为27的整倍数,例如Z为27,Z4为54、81等。
在该实现方式中,根据原校验矩阵,得到第一校验矩阵或者第二校验矩阵;可以快速得到所需的校验矩阵。
第三方面,本申请实施例提供一种通信装置,该通信装置具有实现上述第一方面方法实施例中的行为的功能。该通信装置可以是通信设备,也可以是通信设备的部件(例如处理器、芯片、或芯片系统等),还可以是能实现全部或部分该通信设备的功能的逻辑模块或软件。该通信装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,该硬件或软件包括一个或多个与上述功能相对应的模块或单元。在一种可能的实现方式中,该通信装置包括接口模块和处理模块,其中:所述处理模块,用于根据校验矩阵,对第一比特序列进行低密度奇偶校验LDPC编码,得到第一数据包,所述校验矩阵包括第一校验矩阵和第二校验矩阵,所述第一校验矩阵和所述第二校验矩阵均符合第一基矩阵,所述第一校验矩阵的码长和所述第二校验矩阵的码长不同;所述接口模块,用于发送所述第一数据包。
第三方面的通信装置的可能的实现方式可参见第一方面的各种可能的实现方式。
关于第三方面的各种可能的实现方式所带来的技术效果,可参考对于第一方面或第一方面的各种可能的实现方式的技术效果的介绍。
第四方面,本申请实施例提供一种通信装置,该通信装置具有实现上述第二方面方法实施例中的行为的功能。该通信装置可以是通信设备,也可以是通信设备的部件(例如处理器、芯片、或芯片系统等),还可以是能实现全部或部分该通信设备的功能的逻辑模块或软件。该通信装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,该硬件或软件包括一个或多个与上述功能相对应的模块或单元。在一种可能的实现方式中,该通信装置包括接口模块和处理模块,其中:所述接口模块,用于接收第一信道接收序列;所述处理模块,用于获取所述第一信道接收序列对应的第一对数似然比LLR序列;根据校验矩阵,对所述第一LLR序列进行译码,所述校验矩阵包括第一校验矩阵和第二校验矩阵,所述第一校验矩阵和所述第二校验矩阵均符合第一基矩阵,所述第一校验矩阵的码长和所述第二校验矩阵的码长不同。
第四方面的通信装置的可能的实现方式可参见第二方面的各种可能的实现方式。
关于第四方面的各种可能的实施方式所带来的技术效果,可参考对于第二方面或第二方面的各种可能的实施方式的技术效果的介绍。
第五方面,本申请实施例提供另一种通信装置,该通信装置包括处理器,该处理器与存储器耦合,该存储器用于存储程序或指令,当该程序或指令被该处理器执行时,使得该通信装置执行上述第一方面或第一方面的任意可能的实现方式所示的方法,或者,当该程序或指令被该处理器执行时,使得该通信装置执行上述第二方面或第二方面的任意可能的实现方式所示的方法。
本申请实施例中,在执行上述方法的过程中,上述方法中有关发送信息(或信号)的过程,可以理解为基于处理器的指令进行输出信息的过程。在输出信息时,处理器将信息输出给收发器,以便由收发器进行发射。该信息在由处理器输出之后,还可能需要进行其他的处理,然后到达收发器。类似的,处理器接收输入的信息时,收发器接收该信息,并将其输入处理器。更进一步的,在收发器收到该信息之后,该信息可能需要进行其他的处理,然后才输入处理器。
对于处理器所涉及的发送和/或接收等操作,如果没有特殊说明,或者,如果未与其在相关描述中的实际作用或者内在逻辑相抵触,则可以一般性的理解为基于处理器的指令输出。
在实现过程中,上述处理器可以是专门用于执行这些方法的处理器,也可以是执行存储器中的计算机指令来执行这些方法的处理器,例如通用处理器等。例如,处理器还可以用于执行存储器中存储的程序,当该程序被执行时,使得该通信装置执行如上述第一方面或第一方面的任意可能的实现方式所示的方法。
在一种可能的实现方式中,存储器位于上述通信装置之外。在一种可能的实现方式中,存储器位于上述通信装置之内。
在一种可能的实现方式中,处理器和存储器还可能集成于一个器件中,即处理器和存储器还可能被集成于一起。
在一种可能的实现方式中,通信装置还包括收发器,该收发器,用于接收信号或发送信号等。
第六方面,本申请提供另一种通信装置,该通信装置包括处理电路和接口电路,该接口电路用于获取数据或输出数据;处理电路用于执行如上述第一方面或第一方面的任意可能的实现方式所示的相应的方法,或者,处理电路用于执行如上述第二方面或第二方面的任意可能的实现方式所示的相应的方法。
第七方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序包括程序指令,该程序指令被执行时使得计算机执行如上述第一方面或第一方面的任意可能的实现方式所示的方法,或者,该程序指令被执行时使得计算机执行如上述第二方面或第二方面的任意可能的实现方式所示的方法。
第八方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序包括程序指令,该程序指令被执行时使得计算机执行如上述第一方面或第一方面的任意可能的实现方式所示的方法,或者,该程序指令被执行时使得计算机执行如上述第二方面或第二方面的任意可能的实现方式所示的方法。
第九方面,本申请提供一种通信系统,包括上述第三方面或第三方面的任意可能的实现方式所述的通信装置、上述第四方面或第四方面的任意可能的实现方式所述的通信装置。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1为本申请提供的一种LDPC码的校验矩阵H的示例;
图2为本申请实施例提供的一种LDPC码的校验矩阵H的Tanner图;
图3为本申请提供的一种LDPC码的编码过程的示例;
图4为本申请实施例提供的一种LDPC编码流程中缩短操作部分的示意图;
图5为本申请实施例提供的4种CPM的示例;
图6为本申请实施例提供的一种由大小为(12×24)的基矩阵扩展得到的一个校验矩阵的示例;
图7为本申请提供的技术方案适用的一种无线通信系统的示例;
图8为本申请提供的一种LDPC码的编码方法交互流程图;
图9为本申请提供的另一种LDPC码的编码方法交互流程图;
图10为本申请实施例提供的另一种LDPC码的编码方法交互流程图;
图11为本申请实施例提供的一种表征第一基矩阵的矩阵以及根据该第一基矩阵扩展得到的四种校验矩阵的扩展因子具体值矩阵的示例;
图12为本申请实施例提供的一种第一校验矩阵的示例;
图13为本申请实施例提供的另一种表征第一基矩阵的矩阵以及根据该第一基矩阵扩展得到的四种校验矩阵的扩展因子具体值矩阵的示例;
图14为本申请提供的一种基于基矩阵2扩展得到的校验矩阵的示例;
图15为本申请提供的一种基于基矩阵2扩展得到的校验矩阵的示例;
图16A为本申请实施例提供的一种LDPC码25次分层译码迭代下的FER仿真性能对比示意图;
图16B为本申请实施例提供的一种LDPC码15次分层译码迭代下的FER仿真性能对比示意图;
图16C为本申请实施例提供的一种LDPC码5次分层译码迭代下的FER仿真性能对比示意图;
图17A为本申请实施例提供的一种校验矩阵41、校验矩阵42、校验矩阵43、校验矩阵44在10次译码迭代次数下的性能示意图;
图17B为本申请实施例提供的一种校验矩阵41、校验矩阵42、校验矩阵43、校验矩阵44在15次译码迭代次数下的性能示意图;
图17C为本申请实施例提供的一种校验矩阵41、校验矩阵42、校验矩阵43、校验矩阵44在25次译码迭代次数下的性能示意图;
图18A为本申请实施例提供的一种校验矩阵51、校验矩阵52、校验矩阵53、校验矩阵54在10次译码迭代次数下的性能示意图;
图18B为本申请实施例提供的一种校验矩阵51、校验矩阵52、校验矩阵53、校验矩阵54在15次译码迭代次数下的性能示意图;
图18C为本申请实施例提供的一种校验矩阵51、校验矩阵52、校验矩阵53、校验矩阵54在25次译码迭代次数下的性能示意图;
图19为本申请实施例提供的一种通信装置1900的结构示意图;
图20为本申请实施例提供的另一种通信装置200的结构示意图;
图21为本申请实施例提供的另一种通信装置210的结构示意图。
具体实施方式
本申请的说明书、权利要求书及附图中的术语“第一”和“第二”等仅用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备等,没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元等,或可选地还包括对于这些过程、方法、产品或设备等固有的其它步骤或单元。
本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”、“举例来说”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”、“举例来说”或者“例如”等词旨在以具体方式呈现相关概念。
在本文中提及的“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。本申请中使用的术语“多个”是指两个或两个以上。
可以理解,在本申请各实施例中,“A对应的B”表示A与B存在对应关系,根据A可以确定B。但还应理解,根据(或基于)A确定(或生成)B并不意味着仅仅根据(或基于)A确定(或生成)B,还可以根据(或基于)A和/或其它信息确定(或生成)B。
为了便于理解本申请的方案,首先对本申请中LDPC码的相关概念进行介绍。
LDPC码全名是低密度奇偶校验码,从字面意思理解,就是一种具有低密度性质的奇偶校验码。这里的低密度指的是LDPC码的校验矩阵具有低密度。因此,要弄明白LDPC码是什么,首先要弄明白奇偶校验码、校验矩阵以及低密度这三个概念。
1.奇偶校验码
奇偶校验码是一种通过增加冗余位使得码字中"1"的个数恒为奇数或偶数的编码方法,它是一种检错码。奇偶校验码常用于0-1的二元域上的数字编码,在码字的最后添加一位或者若干位(校验位),通过码字中1的个数是奇数还是偶数来判断码字在传输前后是否出错。比如100这个码字,采用奇偶校验,那么校验位就可以取1,这时候满足所有码字加起来(异或)的值s为0,即1001。如果传输后变为了1101,错误了一个信息位(可称为比特位),那么这时候s为1,可以判断传输出错。应理解,如果错误的是偶数个信息位,那么算法失效。因此,进一步的,可以设置多个校验位。例如,1101这个四位码字,可以分组,使用校验位的第一位来校验信息位的第一位和第二位(即信息位的前两位11)。例如,使信息位的前两位的和为0,那么校验位的第一位就应该取0。同理,校验位的第二位可以检验码字1101的后两位信息位,那么就校验位的第二位取1。因此,编码后的码字是110101。这其实就是LDPC码的校验思想,即“PC”的含义。可见,LDPC码是一种分组码,并且使用的其实就是奇偶校验。如果再加上低密度的特性,就能得到LDPC码。
2.LDPC码的低密度性质
LDPC码的低密度性质指的就是LDPC码的校验矩阵中为1的个数很少。LDPC码是一种线性分组码,其校验矩阵是一种稀疏矩阵。LDPC码的校验矩阵中零元素的个数远远多于非零元素的个数。或者说,校验矩阵的行重(即每行中的1的个数)和列重(即每列中的1的个数)与LDPC码的码长相比是很小的数。
3.LDPC码的校验矩阵和生成矩阵
以上面的1101码字举例,码字的信息位和校验位之间的校验关系可以写为矩阵的形式。记信息位为c1,c2,c3,c4,校验位为p1,p2。c=[c1,c2,c3,c4],x=[c1,c2,c3,c4,p1,p2]。这里c和x分别是编码前后的码字。在码字1101的举例中,码字1101的信息位和校验位之间的校验关系可表示为如下线性关系:c1+c2+p1=0,c3+c4+p2=0。该线性关系可以写为如下公式:
x·HT=s=0 (1);
其中,H为:s=(0,0)。这里的H就是校验矩阵,s为校验子,HT表示H的转置。公式(1)的思想就是原来的码字(未编码的码字)c经过生成矩阵G(G由H决定)编码后,得到的发送码字x需要满足x·HT=0。为了方便的判断这个结果是不是0,我们引入校验子s的概念,只要s全为0,那么传输就是没问题的。本申请中,“·”表示矩阵乘法运算,“A·B”表示矩阵A和矩阵B的矩阵相乘的乘积。
c经过生成矩阵G编码得到的发送码字x可满足如下公式:
x=c·G; (2);
其中,c表示未编码的码字(或者说比特序列),G表示生成矩阵。G和HT彼此正交,即G·HT=0。生成矩阵可由校验矩阵经过变换而得来。也就是说,知道了校验矩阵,就可得到该校验矩阵对应的生成矩阵。c可称为信息码字,x可称为发送码字。公式(2)表明发送码字是由信息码字与生成矩阵相乘得到的。
4.Tanner图
Tanner在1981年将LDPC码的码字用图的方式表示了出来。现在将这种图称为Tanner图,Tanner图和校验矩阵一一对应。Tanner图由两类顶点组成,一类顶点为变量节点,代表码字比特,另一类顶点为校验节点,代表校验约束关系。每个校验节点代表一个校验约束关系,下面结合图1和图2进行说明。
参见图1,图1为本申请提供的一种LDPC码的校验矩阵H的示例。图1中,{Vi}表示变量节点集,{Ci}表示校验节点集。校验矩阵H的每行对应一个校验方程,每列对应一个码字比特。图1中,变量节点为8个,校验节点为4个。如果一个码字比特包含在相应的校验方程中,就用一条连线将所涉及的变量节点和校验节点连起来,得到Tanner图。
参见图2,图2为本申请实施例提供的一种LDPC码的校验矩阵H的Tanner图。如图2所示,Tanner图表示的即是LDPC码的校验矩阵。例如,对于大小为m行n列的校验矩阵H,Tanner图中包含两类节点,分别为n个变量节点(也可称为信息节点或比特节点)和m个校验节点,m、n均为大于0的整数。其中,上述n个变量节点分别和校验矩阵H的n个列对应,上述m个校验节点分别和校验矩阵H的m个行对应。Tanner图中的循环是由互相连接在一起的顶点组成,循环以这群顶点中的一个顶点同时作为起点和终点,且只经过每个节点一次。循环的长度定义为它所包含的连线的数量,而图形的围长也可以称作图形的尺寸,定义为图中最小的循环长度,如图2中,围长为6,如图2中加黑连线所示。
5.LDPC码的编码
基于上面的描述可知,发送码字是由信息码字与生成矩阵相乘得到的,生成矩阵可由校验矩阵经过变换而得来。因此,整个LDPC码编码过程其实就是一个校验矩阵的构造过程。参见图3,图3为本申请提供的一种LDPC码的编码过程的示例。如图3所示,校验矩阵H通过高斯消元方可变成H=[I P];由G·HT=0,得到生成矩阵G=[-PT I];信息码字c经过生成矩阵G编码得到发送码字x,即x=c·G。其中,I表示信息比特部分,P表示校验比特部分,x为发送码字,
6.LDPC码的译码
LDPC码译码过程是通过校验位(或者称为校验码元)和信息位(或者称为信息码元)之间的校验规律在变量节点与校验节点之间不停进行消息迭代直至找到满足x·HT=的码字,输出x即为解码后的码字。LDPC码的译码算法包括以下三大类:硬判决译码,软判决译码和混合译码。
7.WLAN场景中的LDPC编码
一些WLAN标准(例如IEEE 802.11n/ac)采用正交频分复用(orthogonalfrequency division multiplexing,OFDM)技术,LDPC编码模块需要将数据比特(可称为信息比特)经编码后放入整数个OFDM符号中,而这些编码后的比特也须恰好可放入整数个LDPC码字中。执行上述步骤,发送端首先计算得到本次传输所需的最少OFDM符号数目NSYM;再根据NSYM和当前编码调制方案,计算所有OFDM符号中可存放的总编码比特数目NTCB=NCBPS*NSYM,其中NCBPS为每个OFDM符号可存放的比特数。随后,发送端根据以上所得结果,计算当前传输所采用的LDPC码长和所需的码字数目。对于大多数的待编码数据的比特长度和编码调制方案组合,由于没有足够多的数据比特可填满LDPC码字中的数据比特部分,因此需要在生成校验比特之前进行缩短操作。LDPC码字中的数据比特部分仅包含信息位(或者数据比特),而不包含校验位(或者说校验比特)。
本申请中,缩短操作是指在通过LDPC编码生成校验比特之前,在码字信息的数据比特部分填入一定数目的0,编码生成校验比特之后再将这些0删除。图4为本申请实施例提供的一种LDPC编码流程中缩短操作部分的示意图。如图4所示,401表示待编码的数据比特(payload bits);步骤(step)1为计算发送待编码的数据比特所需的LDPC码字的长度和码字数目,402示出了LDPC码字的长度和码字数目;步骤2为对待编码的数据比特进行缩短操作,403示出了包含数据比特、缩短0比特(shortening zero bits)的码字;步骤3为利用数据比特和缩短0比特,生成校验比特(parity bits),404示出了包含数据比特、缩短0比特以及校验比特的码字;随后将这些缩短0比特删除(discard shortening bits),405示出了仅包含数据比特和校验比特的码字。
8.由基矩阵扩展得到校验矩阵
LDPC码的基矩阵可根据需要扩展为各种码长的LDPC码的校验矩阵。LDPC码的基矩阵中仅包含0和1两种元素。本申请中,基矩阵中的0可替换为空白、“-”、“-1”、或者其他数字或符号,本申请不作限定。本申请中,由基矩阵扩展得到校验矩阵时,基矩阵中的1可扩展为非全零方阵(也可称为非全0方阵),基矩阵中的0元素可扩展为全零方阵(也可称为全0方阵)。本申请中,全零方阵是指包括的每个元素均为0的方阵,例如大小为(27×27)的方阵。本申请中,非全零方阵是指至少包括一个非0元素的方阵,例如循环位移矩阵(circulantpermutation matrix,CPM)。CPM是单位阵的循环移位。或者说,单位阵的循环移位称为CPM。后续CPM的含义均为此,后续不再赘述。本申请中,任意CPM可用一个数值和一个扩展因子共同表示。或者说,任意CPM对应一个数值和一个扩展因子。两个CPM的大小不同是指这两个CPM对应的扩展因子不同。本申请中,CPM对应的数值可称为扩展因子具体值、扩展因子值、或循环移位因子等。CPM对应的数值可称为循环移位系数。CPM对应的扩展因子表征CPM的大小,即不同大小的CPM的扩展因子不同。例如,大小为(27×27)的CPM的扩展因子为27。或者说,某个CPM的扩展因子为27,表示该CPM的大小为(27×27)。又例如,大小为(54×54)的CPM的扩展因子为54。后续CPM的扩展因子的含义均为此,后续不再赘述。需要说明,校验矩阵中的各CPM的扩展因子相同。举例来说,一个基矩阵的大小为(12×24),利用扩展因子Z=27扩展该基矩阵,得到校验矩阵,该校验矩阵中的每个CPM的扩展因子为Z。本申请中,CPM对应的数值(整数)表示单位阵向右循环移位的位数。图5为本申请提供的(4×4)的4种CPM的示例。如图5所示,P0表示(4×4)单位阵,P0可视为扩展因子为4且对应的数值为0的CPM,P1为扩展因子为4且对应的数值为1的CPM,P2为扩展因子为4且对应的数值为2的CPM,P3为扩展因子为4且对应的数值为3的CPM。图5为本申请实施例提供的4种CPM的示例。应理解,任意CPM均可由相应的单位阵向右循环移位得到,这里不再详述。应理解,基矩阵中的1可扩展为任意大小的CPM,基矩阵中的0可扩展为任意大小的全零方阵。后文基矩阵中的1或者0的含义或者功能与前述介绍一致,将不再赘述。
由基矩阵扩展得到校验矩阵的方式可如下:将基矩阵中的1替换为CPM,而将0替换为相应大小的全0方阵。示例性的,基矩阵中的每个元素为0或1,由该基矩阵扩展得到校验矩阵时,将该基矩阵中的每个0扩展为(Z×Z)的全零矩阵,该基矩阵中的每个1扩展为(Z×Z)的CPM,Z为CPM对应的扩展因子,不同CPM对应的数值相同或不同。因此,可由基矩阵可得到一系列LDPC码的校验矩阵。这些校验矩阵的大小和每个CPM的扩展因子可不同,但对应或者符合同一基矩阵。
下面介绍由基矩阵扩展得到校验矩阵的一个示例。一个大小为(12×24)的基矩阵的示例如下:
参见图6,图6为本申请实施例提供的一种由大小为(12×24)的基矩阵(下文的基矩阵1)扩展得到的一个校验矩阵的示例。如图6所示,校验矩阵中的“-”表示大小为(K×K)的全零矩阵,该校验矩阵中的0表示大小为(K×K)的单位矩阵(或者称为单位阵),该校验矩阵中的大于0的元素表示对应该元素的数值的大小为(K×K)的CPM,K表示扩展因子,换句话说,在大小为(K×K)的单位矩阵循环移位该校验矩阵中的大于0的元素的值。本申请中,校验矩阵中的“-”(表示全零矩阵)可替换为空白、“-1”、或者其他数字或符号,本申请不作限定。后文的校验矩阵中的“-”或者0的含义或者功能如前所述,将不再赘述。
以上通过一个示例,对由基矩阵到校验矩阵的扩展过程进行了介绍。应理解,可采用相同的方式对任意基矩阵进行扩展以得到所需码长的校验矩阵。本申请,若某个校验矩阵由某个基矩阵扩展得到,则可理解为该校验矩阵符合(或者说满足)该基矩阵或者该校验矩阵对应于该基矩阵。
为了提高无线传输系统的传输可靠性,LDPC码已在WLAN标准得到了广泛的应用。而新的IEEE 802.15ab标准相对于IEEE 802.15.4z标准可引入新的LDPC编码技术,以便大幅提升系统的数据传输可靠性。因此,可考虑针对下一代WLAN标准或UWB标准设计新的LDPC码,以进一步提高下一代WLAN系统或UWB系统的可靠性和系统性能。
为了提高下一代WLAN系统或UWB系统的可靠性和系统性能,本申请针对下一代WLAN系统或UWB系统提出了两类采用单个基矩阵扩展得到不同码长的校验矩阵的设计。本申请提供的采用单个基矩阵扩展得到不同码长的校验矩阵的方案,适用于中包、短包以及长包均存在的传输场景,编码复杂度较低。第一类方案是利用已有的校验矩阵对应的基矩阵扩展得到不同码长的校验矩阵。例如,基于IEEE 802.11n标准中的LDPC码的其中一个码率为1/2的校验矩阵对应的基矩阵,扩展得到不同码长的校验矩阵。第二类方案是综合考虑LDPC码的性能、译码收敛速度、译码复杂度等中的多项因素,设计了几组复杂度低且译码收敛快的LDPC码的基矩阵和相应的校验矩阵。
本申请的技术方案主要适用于无线通信系统,该无线通信系统可以遵从第三代合作伙伴计划(third generation partnership project,3GPP)的无线通信标准,也可以遵从其它无线通信标准,例如,电气电子工程师学会(institute of electricalandelectronics engineers,IEEE)的802系列(例如,802.11,802.15,或者802.20)的无线通信标准。本申请的技术方案还可以适用于物联网(internet of things,IoT)网络、UWB系统、车联网(Vehicle to X,V2X)等无线局域网系统中。当然,本申请实施例还可以适用于其他可能的通信系统,例如,长期演进(long term evolution,LTE)系统、LTE频分双工(frequency division duplex,FDD)系统、LTE时分双工(time division duplex,TDD)、通用移动通信系统(universal mobile telecommunication system,UMTS)、全球互联微波接入(worldwide interoperability for microwave access,WiMAX)通信系统、第五代(5thgeneration,5G)通信系统,以及未来的第六代(6th generation,6G)通信系统等。
本申请实施例主要以部署WLAN系统或UWB系统,尤其是应用IEEE 802.11标准的网络为例进行说明。本领域技术人员容易理解,本申请涉及的各个方面可以扩展到采用各种标准或协议的其它网络,例如,BLUETOOTH(蓝牙),高性能无线LAN(high performanceradio LAN,HIPERLAN)(一种与IEEE 802.11标准类似的无线标准,主要在欧洲使用)以及广域网(WAN)、个人区域网(personal area network,PAN)或其它现在已知或以后发展起来的网络。因此,无论使用的覆盖范围和无线接入协议如何,本申请提供的各种方面可以适用于任何合适的无线网络。
上述适用本申请的通信系统仅是举例说明,适用本申请的通信系统不限于此,在此统一说明,以下不再赘述。
参阅图7,图7为本申请提供的技术方案适用的一种无线通信系统的示例。该通信系统包括接入点(access point,AP),一个或多个STA(仅示出了STA1和STA2)。其中,接入点和STA均支持WLAN协议,该WLAN协议可以包括IEEE 802.11be(或称为Wi-Fi 7,EHT协议),还可以包括IEEE 802.15ab,IEEE802.11ax,IEEE 802.11ac等协议。当然,随着通信技术的不断演进和发展,该WLAN协议还可以包括IEEE802.11be的下一代协议等。以WLAN为例,该实现本申请方法的装置可以是WLAN中的接入点或STA,或者是,安装在接入点或STA中的芯片或处理系统。
接入点是一种具有无线通信功能的装置,支持采用WLAN协议进行通信,具有与WLAN网络中其他设备(比如站点或其他接入点)通信的功能。当然,还可以具有与其他设备通信的功能。在WLAN系统中,包括一个或多个接入点(access point,AP)类的站点和一个或多个非接入点类的站点(none access point station,non-AP STA)。为便于描述,本文将接入点类型的站点称为接入点(AP),非接入点类的站点称为站点(STA)。
接入点可以为一个整机设备,还可以是安装在整机设备中的芯片或处理系统等。安装这些芯片或处理系统的设备可以在芯片或处理系统(即AP)的控制下,实现本申请实施例的方法和功能。本申请实施例中的AP是为站点(Station,STA)提供服务的装置,可以支持802.11系列协议,例如802.15ab、802.11ac、802.11n、802.11g、802.11b及802.11a、802.11be、Wi-Fi 8或其下一代等。例如,AP可以为通信服务器、路由器、交换机、网桥等通信实体。AP可以包括宏基站、微基站(也称为小站)、微微基站、毫微微基站、中继站、接入点、gNB、传输接收点(transmission reception point,TRP)、演进型节点B(evolved Node B,eNB)、无线网络控制器(radio network controller,RNC)、家庭基站(例如,home evolvedNodeB,或home Node B,HNB)、基带单元(base band unit,BBU)、WiFi接入点(accesspoint,AP)、接入回传一体化(integrated access and backhaul,IAB)等。当然AP还可以为这些各种形式的设备中的芯片和处理系统,从而实现本申请实施例的方法和功能。
站点是一种具有无线通信功能的装置,支持采用WLAN协议进行通信,具有与WLAN网络中的其他站点或接入点通信的能力。例如,STA是允许用户与AP通信进而与WLAN通信的任何通信装置,该通信装置可以为一个整机设备,还可以是安装在整机设备中的芯片或处理系统等。安装这些芯片或处理系统的设备可以在芯片或处理系统(即站点)的控制下,实现本申请实施例的方法和功能。STA可包括手机(mobile phone)、移动台(mobile station,MS)、平板电脑(pad)、带无线收发功能的电脑(例如笔记本电脑)、虚拟现实(virtualreality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrialcontrol)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remotemedical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportationsafety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、用户单元(subscriber unit)、蜂窝电话(cellular phone)、无线数据卡、个人数字助理(personal digital assistant,PDA)电脑、平板型电脑、膝上型电脑(laptopcomputer)、机器类型通信(machine type communication,MTC)终端等。站台可包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备。可选的,站台可以是具有无线通信功能的手持设备(handset)、车载设备、可穿戴设备或物联网、车联网中的终端、5G以及5G之后演进的通信系统中的任意形态的终端等,本申请对此并不限定。站点可支持802.11系列协议,例如802.15ab、802.11ac、802.11n、802.11g、802.11b、802.11a、802.11be、Wi-Fi 8或其下一代等多种WLAN标准。
下面结合附图结合本申请提供的LDPC码的编码方法。
图8为本申请提供的一种LDPC码的编码方法交互流程图。如图8所示,该方法包括:
801、发送端根据校验矩阵,对第一比特序列进行LDPC编码,得到第一数据包。
发送端可以是站点,也可以是接入点。本申请实施例中的发送端可视为编码设备。上述校验矩阵包括两种或两种以上符合第一基矩阵的校验矩阵。上述校验矩阵包括的两种或两种以上符合第一基矩阵的校验矩阵中的任意两个校验矩阵的码长不同。下文以校验矩阵包括第一校验矩阵和第二校验矩阵为例进行描述。上述第一校验矩阵和上述第二校验矩阵均符合第一基矩阵。上述第一校验矩阵的码长和上述第二校验矩阵的码长不同。
步骤801一种可能的实现方式如下:根据第一比特序列与第一校验矩阵对应的生成矩阵,得到第一信息;基于该第一信息,得到第一数据包。步骤801另一种可能的实现方式如下:根据第一比特序列与第二校验矩阵对应的生成矩阵,得到第一信息;基于该第一信息,得到第一数据包。可理解,发送端可根据需要或预设规则采用符合同一基矩阵的多个校验矩阵中的任一校验矩阵对待编码的比特序列进行LDPC编码。具体过程可参阅上文描述的LDPC码的编码以及WLAN中的LDPC编码。本申请不对根据校验矩阵(例如第一校验矩阵或第二校验矩阵)对第一比特序列进行LDPC编码的具体方式作限定。由于基于编码后的信息,例如第一信息,得到相应的数据包是本领域的惯用技术手段,故这里不再详述。
802、发送端发送第一数据包。
具体的,上述发送步骤可以包括但不限于:发送端根据LDPC编码后的比特(即第一数据包)进行流分析(strean parser),星座映射(Constellation mapper),LDPC载波映射,或者可能的包括傅里叶逆变换(inverse discrete fourier transform,IDFT)等等处理,以便于在信道上发送出去。
相应的,接收端接收来自发送端的承载前述编码后的第一比特序列的信号(为描述方便,也可以称为第一数据包)。可选的,发送端为站点,接收端为接入点。可选的,发送端为接入点,接收端为站点。
步骤802一种可能的实现方式如下:发送端广播第一数据包。接收端接收来自发送端的第一信道接收序列(对应于第一数据包)。第一信道接收序列对应于接收端通过第一信道接收到的第一信号,即发送端发送的第一数据包经信道传输被接收端接收到的信号。
步骤802一种可能的实现方式如下:发送端向接收端(对应于单播方式)发送第一数据包。接收端接收来自发送端的第一信道接收序列(对应于第一数据包)。
803、接收端确定第一信道接收序列对应的第一对数似然比(log likelihoodrate,LLR)序列,并根据校验矩阵,对第一LLR序列进行译码,得到第一译码结果。
应理解,若发送端根据第一校验矩阵对第一比特序列进行LDPC编码,则接收端根据第一校验矩阵对第一LLR序列进行译码;若发送端根据第二校验矩阵对第一比特序列进行LDPC编码,则接收端根据第二校验矩阵对第一LLR序列进行译码。接收端可根据来自发送端的控制信息获知对第一LLR序列进行译码采用的校验矩阵。接收端还可通过其他方式获知对第一LLR序列进行译码采用的校验矩阵,本申请不作限定。
接收端可采用硬判决译码、软判决译码、混合译码中的任一种,根据第一校验矩阵,对第一LLR序列进行译码,这里不作限定。
804、接收端若译码成功,则输出第一译码结果。
步骤804是可选的,而非必要的。输出第一译码结果可以接收端通过输出设备,例如显示器、显示屏、音频设备等,输出第一译码结果。可选的,如果接收端译码错误(或者说译码失败),则接收端向发送端发送重传指示信息,以请求发送端重传。此外,如果译码失败,接收端可保存第一LLR序列,以和后续接收到的重传的LLR序列合并译码。
本申请实施例中,第一校验矩阵和第二校验矩阵均符合第一基矩阵。通过第一基矩阵扩展得到第一校验矩阵和第二校验矩阵,能够降低编码的复杂度。
图9为本申请提供的另一种LDPC码的编码方法交互流程图。如图9所示,该方法包括:
901、发送端根据第一校验矩阵,对第一比特序列进行LDPC编码,得到第一数据包。
步骤901可参阅步骤801。
902、发送端根据第二校验矩阵,对第二比特序列进行LDPC编码,得到第二数据包。
步骤902可参阅步骤801。步骤901和步骤902的先后顺序不作限定。第一校验矩阵的码长和第二校验矩阵的码长不同。上述第一校验矩阵和上述第二校验矩阵均符合第一基矩阵。或者说,上述第一校验矩阵和上述第二校验矩阵均根据基矩阵或上述基矩阵的子矩阵扩展得到。本申请的主要原理是基于同一基矩阵扩展得到不同码长的校验矩阵,以便降低编码的复杂度。下文再详述基于同一个基矩阵扩展得到不同码长的校验矩阵的实现方式。本申请中,不对第一校验矩阵和第二校验矩阵的码率做限定。本申请中,LDPC码的校验矩阵均可通过缩短或打孔得到其他码率,缩短操作可参阅图4。
上述第一数据包的类型和上述第二数据包的类型可不同。第一数据包的类型和第二数据包的类型可以为短包、中包、长包中的任意两种。例如,第一数据包的类型为长包,第二数据包的类型为短包。又例如,第一数据包的类型为中包,第二数据包的类型为长包。应理解,短包的长度小于中包,中包的长度小于长包。上述第一比特序列的长度和上述第二比特序列的长度不同。上述第一比特序列和上述第二比特序列需要采用不同码长的校验矩阵进行LDPC编码。或者说,上述第一比特序列和上述第二比特序列需要通过不同类型的数据包发送。举例来说,第一比特序列包括20比特(bites),第二比特序列包括1500比特,发送端根据码长为648比特的第一校验矩阵对该第一比特序列进行LDPC编码,得到第一数据包;发送端根据码长为1944比特的第二校验矩阵对该第二比特序列进行LDPC编码,得到第二数据包;第一数据包为短包,第二数据包为长包。通过该举例可知,发送端发送不同类型的数据包时,需要根据不同码长的校验矩阵对待编码的比特序列进行LDPC编码。
在一种可能的实现方式中,上述第一校验矩阵和上述第二校验矩阵通过相同的硬件电路扩展上述第一基矩阵得到,上述第一校验矩阵和上述第二校验矩阵对应不同的扩展方式或扩展参数。也就是说,发送端可通过同一硬件电路扩展第一基矩阵得到两种或两种以上码长的校验矩阵。或者说,发送端通过改变或者调整某个硬件电路采用的扩展方式或扩展参数,可根据第一基矩阵扩展得到两种或两种以上码长的校验矩阵。示例性的,发送端中的第一硬件电路用于基于第一基矩阵扩展得到多个校验矩阵;当该第一硬件电路采用第一扩展方式(或第一扩展参数)时,根据该第一基矩阵扩展得到第一校验矩阵;当该第一硬件电路采用第二扩展方式(或第二扩展参数)时,根据该第一基矩阵扩展得到第二校验矩阵。在本申请提供的可能的实现方式中,发送端可通过同一硬件电路扩展第一基矩阵得到两种或两种以上码长的校验矩阵,编码的复杂度较低。
903、发送端发送第一数据包以及第二数据包。
可选的,发送端独立发送第一数据包和第二数据包,即通过不同的信号或信道发送第一数据包和第二数据包。或者,发送端先后发送第一数据包和第二数据包。
相应的,接收端接收来自发送端的承载前述编码后的第一比特序列的信号(为描述方便,也可以称为第一数据包),以及承载前述编码后的第二比特序列的信号(为描述方便,也可以称为第二数据包)。可选的,发送端为站点,接收端为接入点。可选的,发送端为接入点,接收端为站点。
步骤903一种可能的实现方式如下:发送端广播第一数据包和第二数据包。接收端接收来自发送端的第一信道接收序列(对应于第一数据包)以及第二信道接收序列(对应于第二数据包)。第一信道接收序列对应于接收端通过第一信道接收到的第一信号,即发送端发送的第一数据包经信道传输被接收端接收到的信号。第二信道接收序列对应于接收端通过第二信道接收到的第二信号,即发送端发送的第二数据包经信道传输被接收端接收到的信号。
步骤903一种可能的实现方式如下:发送端向接收端(对应于单播方式)发送第一数据包和第二数据包。接收端接收来自发送端的第一信道接收序列(对应于第一数据包)和第二信道接收序列(对应于第二数据包)。
904、接收端确定第一信道接收序列对应的第一LLR序列,并根据第一校验矩阵,对第一LLR序列进行译码,得到第一译码结果。
905、接收端若译码成功,则输出第一译码结果。
步骤905是可选的,而非必要的。步骤905可参阅步骤804。
906、接收端确定第二信道接收序列对应的第二LLR序列,并根据第二校验矩阵,对第二LLR序列进行译码,得到第二译码结果。
907、接收端若译码成功,则输出第二译码结果。
步骤907是可选的,而非必要的。步骤907可参阅步骤804。
本申请实施例中,第一校验矩阵和第二校验矩阵均符合第一基矩阵。发送端通过采用符合第一基矩阵的不同码长的校验矩阵进行LDPC编码,能够降低编码的复杂度。
图10为本申请实施例提供的另一种LDPC码的编码方法交互流程图。图10中的方法交互流程是图9描述的方法的一种可能的实现方式。在该实现方式中,发送端根据待编码的比特序列的长度,基于第一基矩阵扩展得到所需码长的校验矩阵,适用于发送不同长度的数据包,并降低编码的复杂度。
1001、发送端在待编码的第一比特序列的长度位于第一区间的情况下,根据第一基矩阵扩展得到第一校验矩阵。
第一区间可以是根据需要配置的一个区间,本申请不作限定。第一区间可以是小于等于40字节(bytes)。当待编码的任意比特序列(例如第一比特序列)的长度位于第一区间时,发送端需要采用第一码长的第一校验矩阵对该比特序列进行LDPC编码。该第一码长可以是320比特、640比特、648比特等。待编码的第一比特序列的长度位于第一区间可理解为根据第一基矩阵扩展得到第一校验矩阵需要满足的一种条件。或者说,待编码的第一比特序列的长度位于第一区间为触发发送端根据第一基矩阵扩展得到第一校验矩阵的条件。应理解,发送端还可以在满足其他条件时,根据第一基矩阵扩展得到第一校验矩阵。例如,发送端在确定需要采用第一码长的校验矩阵进行编码时,根据第一基矩阵扩展得到码长为第一码长的第一校验矩阵。
1002、发送端根据第一校验矩阵,对第一比特序列进行LDPC编码,得到第一数据包。
1003、发送端发送第一数据包。
相应的,接收端接收来自发送端的第一信道接收序列(对应于第一数据包)。步骤1003可参阅步骤802。
1004、接收端确定第一信道接收序列对应的第一LLR序列,并根据第一校验矩阵,对第一LLR序列进行译码,得到第一译码结果。
1005、接收端若译码成功,则输出第一译码结果。
步骤1005是可选的,而非必要的。步骤1005可参阅步骤804。
1006、发送端在待编码的第二比特序列的长度位于第二区间的情况下,根据第一基矩阵扩展得到第二校验矩阵。
当待编码的任意比特序列(例如第二比特序列)的长度位于第二区间时,发送端需要采用第二码长的第二校验矩阵对该比特序列进行LDPC编码。该第二码长可以是1280比特、1296比特、1944比特、2560比特等,本申请不作限定。
第二区间和第一区间不重叠。或者说,第一区间和第二区间的交集为空集。第一区间和第二区间均为连续的区间。例如,第一区间为(0,第一值],第二区间为(第二值,第三值],第二值大于第一值,第三值大于第二值,第一值大于0。又例如,第一区间为(0,第一值],第二区间为(第一值,第三值],第二值大于第一值,第一值大于0。第二区间可以是大于40bybes。应理解,发送端可根据实际需要相应的设置第一区间和第二区间,本申请不作限定。
在一种可能的实现方式中,上述第一校验矩阵中的第一位置的CPM的扩展因子具体值为b,上述第一校验矩阵中的CPM的扩展因子为Z1,上述第二校验矩阵中的第一位置的CPM的扩展因子具体值为(b mod Z),上述第二校验矩阵中的CPM的扩展因子为Z2,上述Z、上述Z1、上述Z2均为大于0的整数,上述Z1大于或等于上述Z,上述Z2小于上述Z。第一位置可以是第一校验矩阵中的任意一个位置。第一校验矩阵和第二校验矩阵中相同位置的元素一一对应。也就是说,若第一校验矩阵中的任意一个位置的CPM的扩展因子具体值为b,则第二校验矩阵的相应位置的CPM的扩展因子具体值为(b mod Z)。mod表示取模运算或取余运算。可选的,Z为27的整倍数,例如27、54、81等。示例性的,上述第一基矩阵对应于原校验矩阵,上述原校验矩阵中的CPM的扩展因子为Z,上述原校验矩阵的第一位置的CPM的扩展因子具体值为b,上述第一校验矩阵中的第一位置的CPM的扩展因子具体值为b,上述第一校验矩阵中的CPM的扩展因子为Z1,上述第二校验矩阵中的第一位置的CPM的扩展因子具体值为(b modZ),上述第二校验矩阵中的CPM的扩展因子为Z2,上述Z、上述Z1、上述Z2均为大于0的整数,上述Z1大于或等于上述Z,上述Z2小于上述Z。可选的,Z为27的整倍数,例如27、54、81等。可选的,上述校验矩阵还包括上述原校验矩阵。基矩阵对应的原校验矩阵可以是图6所示的矩阵,也可以是码率为1/2、码长为1296、扩展因子为54的WLAN LDPC校验矩阵,还可以是码率为1/2、码长为1944、扩展因子为81的WLAN LDPC校验矩阵,还可以是其他校验矩阵,本申请不作限定。在该实现方式中,第一校验矩阵中的第一位置的循环位移矩阵CPM的扩展因子具体值为b,第二校验矩阵中的第一位置的CPM的扩展因子具体值为(b mod Z);能够快速地扩展得到所需的校验矩阵。
在一种可能的实现方式中,上述第一校验矩阵中的第一位置的CPM的扩展因子具体值为b,上述第一校验矩阵中的CPM的扩展因子为Z3,上述第二校验矩阵中的第一位置的CPM的扩展因子具体值为b、(b+Z)、(b+2Z)中的任一个,上述第二校验矩阵中的CPM的扩展因子为Z4,上述Z、上述Z3、上述Z4均为大于0的整数,上述Z3小于上述Z,上述Z4大于或等于上述Z。需要注意,需要保证第二校验矩阵中的各元素均小于或等于Z4。第一位置可以是第一校验矩阵中的任意一个位置。可选的,Z和Z4均为27的整倍数,例如Z为27,Z4为54、81等。第一校验矩阵和第二校验矩阵中相同位置的元素一一对应。可理解,若第一校验矩阵中的任意一个位置的CPM的扩展因子具体值为b,则第二校验矩阵的相应位置的CPM的扩展因子具体值为b、(b+Z)、(b+2Z)中的任一个。需要注意,第二校验矩阵中的每个位置的扩展因子具体值为b、(b+Z)、(b+2Z)中的任一个。例如,第一校验矩阵的第一位置的CPM的扩展因子具体值为b,第二校验矩阵中的第一位置的CPM的扩展因子具体值为(b+Z),第一校验矩阵的第三位置的CPM的扩展因子具体值为a,第二校验矩阵中的第三位置的CPM的扩展因子具体值为(a+2Z)。在该实现方式中,能够快速地扩展得到所需的校验矩阵。
在一种可能的实现方式中,上述第一基矩阵对应于原校验矩阵,上述原校验矩阵中的CPM的扩展因子为Z,上述原校验矩阵的第一位置的CPM的扩展因子具体值为b,上述第一校验矩阵中的第一位置的CPM的扩展因子具体值为(b mod Z),上述第一校验矩阵中的CPM的扩展因子为Z3,上述第二校验矩阵中的第一位置的CPM的扩展因子具体值为b、(b+Z)、(b+2Z)中的任一个,上述第二校验矩阵中的CPM的扩展因子为Z4,上述Z、上述Z3、上述Z4均为大于0的整数,上述Z3小于上述Z,上述Z4大于或等于上述Z。需要注意,需要保证第一校验矩阵中的各元素均小于或等于Z4。可选的,Z和Z4均为27的整倍数,例如Z为27,Z4为54、81等。在该实现方式中,能够快速地扩展得到所需的校验矩阵。
1007、发送端根据第二校验矩阵,对第二比特序列进行LDPC编码,得到第二数据包。
1008、发送端发送第二数据包。
相应的,接收端接收来自发送端的第二信道接收序列(对应于第二数据包)。步骤1008可参阅步骤802。
1009、接收端确定第二信道接收序列对应的第二LLR序列,并根据第二校验矩阵,对第二LLR序列进行译码,得到第二译码结果。
1010、接收端若译码成功,则输出第二译码结果。
步骤1010是可选的,而非必要的。步骤1010可参阅步骤804。
在实际发送数据中,发送端并不一定会在所有的区间上都生成相应码长的校验矩阵。上述第一区间和第二区间仅为示例。应理解,只要发送端根据比特序列的长度生成相应码长的校验矩阵就属于本申请的保护范围,本申请不限定在所有区间上都生成相应码长的校验矩阵。
图10的方法流程描述了发送端在待编码的第一比特序列的长度位于第一区间的情况下,根据第一基矩阵扩展得到第一校验矩阵,以及在待编码的第二比特序列的长度位于第二区间的情况下,根据第一基矩阵扩展得到第二校验矩阵。应理解,图10仅为根据第一基矩阵扩展得到两种校验矩阵(即第一校验矩阵和第二校验矩阵)的示例,发送端可根据第一基矩阵扩展得到三种或三种以上校验矩阵,每种校验矩阵可对应一个区间。
示例性的,发送端在待编码的比特序列的长度位于第一区间的情况下,根据第一基矩阵扩展得到第一校验矩阵;发送端在待编码的比特序列的长度位于第二区间的情况下,根据第一基矩阵扩展得到第二校验矩阵;发送端在待编码的比特序列的长度位于第三区间的情况下,根据第一基矩阵扩展得到第三校验矩阵;其中,第一校验矩阵、第二校验矩阵、第三校验矩阵中的任意两个的码长不同,第一区间、第二区间、第三区间中的任意两个不重叠。例如,第一区间为(0,第一值],第二区间为(第二值,第三值],第三区间为(第三值,第四值],第一校验矩阵的码长为648比特,第二校验矩阵的码长为1296比特,第三校验矩阵的码长为1944比特。第一值大于0,第二值大于第一值,第三值大于第二值,第四值大于第三值。在实际应用中,可根据实际需要设置第一区间、第二区间以及第三区间,本申请不作限定。复用图6,图6示出了一种第一校验矩阵的示例。参阅图6,第一校验矩阵的码长N=648(比特),码率R=1/2,扩展因子Z=27。在图6中,0表示(27×27)的单位阵,大于0的元素表示(27×27)的CPM,“-”表示(27×27)的全零矩阵,例如22表示扩展因子具体值为22的(27×27)的CPM。
示例性的,发送端在待编码的比特序列的长度位于第一区间的情况下,根据第一基矩阵扩展得到第一校验矩阵;发送端在待编码的比特序列的长度位于第二区间的情况下,根据第一基矩阵扩展得到第二校验矩阵;发送端在待编码的比特序列的长度位于第三区间的情况下,根据第一基矩阵扩展得到第三校验矩阵;发送端在待编码的比特序列的长度位于第四区间的情况下,根据第一基矩阵扩展得到第四校验矩阵;其中,第一校验矩阵、第二校验矩阵、第三校验矩阵、第四校验矩阵中的任意两个的码长不同,第一区间、第二区间、第三区间、第四区间中的任意两个不重叠。例如,第一区间为(0,第一值],第二区间为(第二值,第三值],第三区间为(第三值,第四值],第四区间为(第四值,第五值],第一校验矩阵的码长为320比特,第二校验矩阵的码长为640比特,第三校验矩阵的码长为1280比特,第四校验矩阵的码长为2560比特。第一值大于0,第二值大于第一值,第三值大于第二值,第四值大于第三值,第五值大于第四值。在实际应用中,可根据实际需要设置第一区间、第二区间、第三区间以及第四区间,本申请不作限定。
图11为本申请实施例提供的一种表征第一基矩阵的矩阵以及根据该第一基矩阵扩展得到的四种校验矩阵的扩展因子具体值矩阵的示例。本申请中,表征第一基矩阵的矩阵可视为第一基矩阵,未直接写出第一基矩阵的原因是该第一基矩阵为(16×32)的矩阵,难以展示。同理,本申请也未直接示出(16×32)的校验矩阵,而是示出校验矩阵的扩展因子具体值矩阵。由于难以直接展示(16×32)的校验矩阵,并且校验矩阵的扩展因子可表示该校验矩阵,因此校验矩阵的扩展因子具体值矩阵可视为校验矩阵。参阅图11,每个矩形框中包括一个矩阵,图11所示的五个矩形框从左向右的顺序依次包括表征第一基矩阵的矩阵、第四校验矩阵的扩展因子具体值矩阵、第三校验矩阵的扩展因子具体值矩阵、第二校验矩阵的扩展因子具体值矩阵、第一校验矩阵的扩展因子具体值矩阵。表征第一基矩阵的矩阵可视为该第一基矩阵。或者说,第一基矩阵通过表征第一基矩阵的矩阵来表示。本申请实施例中,第一基矩阵中仅包括0和1两种元素。表征第一基矩阵的矩阵可示出该第一基矩阵的各行中的1的位置,因此可表征该第一基矩阵。或者说,表征第一基矩阵的矩阵的第i行的元素与第一基矩阵的第i行中的元素1的位置一一对应,第i行为任一行。可选的,表征第一基矩阵的矩阵的第i行的任一元素为u,表明第一基矩阵的第i行的第(u+1)列的元素为1,第i行为任一行,u为0至31中的整数。参阅图11,表征第一基矩阵的矩阵的第一行的元素分别为:0、2、4、6、12、14、17,表明第一基矩阵的第一行的第1列、第3列、第5列、第7列、第13列、第15列、第18列的元素为1,第一基矩阵的第一行的其他列的元素均为0;表征第一基矩阵的矩阵的第二行的元素分别为:1、2、3、9、12、17、18,表明第一基矩阵的第二行的第2列、第3列、第4列、第10列、第13列、第18列、19列的元素为1,第一基矩阵的第二行的其他列的元素均为0;以此类推。可见,表征第一基矩阵的矩阵可视为第一基矩阵本身。
参阅图11,第一校验矩阵中的CPM的扩展因子Z=10,码长N=320;第二校验矩阵中的CPM的扩展因子Z=20,码长N=640;第三校验矩阵中的CPM的扩展因子Z=40,码长N=1280;第四校验矩阵中的CPM的扩展因子Z=80,码长N=2560;第一校验矩阵、第二校验矩阵、第三校验矩阵以及第四校验矩阵均符号第一基矩阵。下面以第一校验矩阵为例来说明为何校验矩阵的扩展因子具体值矩阵可视为校验矩阵。表征第一基矩阵的矩阵的第j行的第二位置(任意位置)的元素为p,第一具体值矩阵(即第一校验矩阵的扩展因子具体值矩阵)的第j行的第二位置的元素为q,第一校验矩阵的第j行的第(p+1)列的元素为q。第一校验矩阵中的0表示大小为(10×10)的单位阵,第一校验矩阵中的大于0的元素表示大小为(10×10)的CPM的扩展因子具体值。图12为本申请实施例提供的一种第一校验矩阵的示例。图12所示的第一校验矩阵为图11中的第一校验矩阵的扩展因子具体值矩阵表征的校验矩阵。或者说,展开图11中的第一校验矩阵的扩展因子具体值矩阵可得到图12所示的第一校验矩阵。图12中,0、1、…、31依次对应于第一校验矩阵的第一列至第三十二列,0、1、…、15依次对应于第一校验矩阵的第一行至第十六行,第二列中的元素表示相应行的行重,第二行中的元素表示相应列的列重。图12中,矩阵左边(16×16)部分对应信息部分,而右侧(16×16)的矩阵部分为校验部分。参阅图11和图12,图11中最左边的矩形框包括表征第一基矩阵的矩阵(下文可称为矩阵1),图11中最右边的矩形框包括第一具体值矩阵,矩阵1和第一具体值矩阵的大小相同,矩阵1和第一具体值矩阵中相同位置的元素一一对应;由上段的描述可知,(16×32)矩阵1的第一行的元素分别为:0、2、4、6、12、14、17,表明矩阵1的第一行的第1列、第3列、第5列、第7列、第13列、第15列、第18列的元素为1,则矩阵1的第一行第一列的元素为0,表明第一具体值矩阵的第一行第一列有值,再参见第一具体值矩阵中的元素为5,可知第一具体值矩阵的第一行第一列的元素为5,则表示第一校验矩阵的第一行第一列的元素为5,即第一校验矩阵的第一行第一列的位置上为大小(10×10)的CPM循环移位5;矩阵1的第一行第二列的元素为2,表明第一具体值矩阵的第一行第二列有值,再参见第一具体值矩阵中的元素为5,可知第一具体值矩阵的第一行第二列的元素为5,则表示第一校验矩阵的第一行第三列的元素为5,即第一校验矩阵的第一行第三列的位置上为大小(10×10)的CPM循环移位5;矩阵1的第一行第三列的元素为4,表明第一具体值矩阵的第一行第三列有值,再参见第一具体值矩阵中的元素为4,可知第一具体值矩阵的第一行第三列为4,则表示第一校验矩阵的第一行第五列的元素为4;依次类推。应理解,任意校验矩阵的扩展因子具体值矩阵结合该校验矩阵符合的基矩阵可表征该校验矩阵。可见,第一具体值矩阵可视为第一校验矩阵本身。同理,任意校验矩阵的扩展因子具体值矩阵可视为该校验矩阵。
图13为本申请实施例提供的另一种表征第一基矩阵的矩阵以及根据该第一基矩阵扩展得到的四种校验矩阵的扩展因子具体值矩阵的示例。参阅图13,每个矩形框中包括一个矩阵,图13所示的五个矩形框从左向右的顺序依次包括表征第一基矩阵的矩阵、第四校验矩阵的扩展因子具体值矩阵、第三校验矩阵的扩展因子具体值矩阵、第二校验矩阵的扩展因子具体值矩阵、第一校验矩阵的扩展因子具体值矩阵。表征第一基矩阵的矩阵可视为第一基矩阵。第四校验矩阵的扩展因子具体值矩阵结合表征第一基矩阵的矩阵可表征第四校验矩阵。第三校验矩阵的扩展因子具体值矩阵结合表征第一基矩阵的矩阵可表征第三校验矩阵。第二校验矩阵的扩展因子具体值矩阵结合表征第一基矩阵的矩阵可表征第二校验矩阵。第一校验矩阵的扩展因子具体值矩阵结合表征第一基矩阵的矩阵可表征第一校验矩阵。
本申请实施例中,发送端根据待编码的比特序列的长度,基于第一基矩阵扩展得到所需码长的校验矩阵,适用于发送不同长度的数据包,并降低编码的复杂度。
以上对本申请提供的LDPC编码的方法进行了详细说明。下面着重介绍本申请提供的基矩阵,以及由这些基矩阵扩展的一些校验矩阵的示例。
本申请提供的基矩阵可根据需要扩展为各种码长的LDPC码的校验矩阵。如前文上述将基矩阵中的1替换为各种循环因子的CPM以及将0替换为相应大小的全0方阵,就能得到各种码长的LDPC码的校验矩阵。也就是说,由一个基矩阵可得到多个LDPC码的校验矩阵,这些校验矩阵的大小和每个CPM的扩展因子可不同,但对应同一基矩阵。
需要注意,本申请提供的基矩阵的各种行列置换所得到的基矩阵与本申请提供的基矩阵等效。也就是说,对本申请提供的基矩阵进行行列置换所得到的基矩阵同样属于本申请保护的基矩阵。基矩阵的各种行列置换是指基矩阵中的一个或多个元素替换为其他元素。也就是说,基矩阵中的一个或多个元素替换为其他元素之后与该基矩阵等效。或者说,基矩阵中的一个或多个元素替换为其他元素同样可视为该基矩阵。本申请中,基矩阵的行列置换可包括以下任一项:基矩阵的一行中的一个或多个元素替换为其他元素、基矩阵的一列中的一个或多个元素替换为其他元素、基矩阵中的位于不同行的多个元素替换为其他元素、基矩阵中的位于不同列的多个元素替换为其他元素、基矩阵中的多行的位置改变、基矩阵中的多列的位置改变,例如基矩阵中的两列的位置互换。一个元素替换为其他元素可理解为该元素替换为与该元素不同的任意元素。例如,基矩阵中的一个或多个元素0替换为元素1。又例如,基矩阵中的一个或多个元素1替换为元素。
本申请提供了两类采用单个基矩阵扩展得到不同码长的校验矩阵的设计。第一类方案是利用已有的校验矩阵对应的基矩阵扩展得到不同码长的校验矩阵。例如,基于IEEE802.11n标准中的LDPC码的其中一个码率为1/2的校验矩阵对应的基矩阵,扩展得到不同码长的校验矩阵。第二类方案是综合考虑LDPC码的性能、译码收敛速度、译码复杂度等中的多项因素,设计了几组复杂度低且译码收敛快的LDPC码的基矩阵和相应的校验矩阵。
本申请提供的第一类设计是直接从已有的一个校验矩阵符合的基矩阵出发,通过采用不同扩展因子Z扩展该基矩阵,从而得到基于该基矩阵的多个校验矩阵。以图6所示R=1/2,N=648,Z=27的WLAN LDPC码的校验矩阵为例,其符合的基矩阵为将该校验矩阵中的非“-”均替换为1,将该校验矩阵中的“-”均替换为0,得到相应(12×24)的矩阵。对该基矩阵以Z=27进行扩展,则可得到扩展后(324×648)的校验矩阵,基矩阵中的每个非零项对应校验矩阵中的一个扩展因子具体值。
下面示出了本申请提供的一些第一基矩阵的示例。
基矩阵1:
图6示出了根据基矩阵1扩展得到的一个校验矩阵的示例。
基矩阵2:
图14为本申请提供的一种基于基矩阵2扩展得到的校验矩阵的示例。图14中,“-”表示(54×54)的全零矩阵,0表示(54×54)的单位矩阵,大于0的元素表示(54×54)的CPM的扩展因子具体值。
基矩阵3:
图15为本申请提供的一种基于基矩阵2扩展得到的校验矩阵的示例。图15中,“-”表示(81×81)的全零矩阵,0表示(81×81)的单位矩阵,大于0的元素表示(81×81)的CPM的扩展因子具体值。
前述基矩阵1、基矩阵2、基矩阵3为三种已有的校验矩阵对应的基矩阵。本申请,第一基矩阵可以是任意已有的校验矩阵符合的基矩阵,这里不再一一例举。
表征基矩阵4的矩阵10:
矩阵10可表征(12×32)的基矩阵4。前文已描述了表征第一基矩阵的矩阵可视为第一基矩阵。同理,表征基矩阵4的矩阵10可视为基矩阵4,这里不再详述。
基于基矩阵4扩展的校验矩阵41对应的扩展因子具体值矩阵41:
扩展因子具体值矩阵41表征校验矩阵41。前文已描述了任意校验矩阵的扩展因子具体值矩阵可视为该校验矩阵。同理,扩展因子具体值矩阵41可视为校验矩阵41,这里不再详述。
基于基矩阵4扩展的校验矩阵42对应的扩展因子具体值矩阵42:
扩展因子具体值矩阵42表征校验矩阵42。
基于基矩阵4扩展的校验矩阵43对应的扩展因子具体值矩阵43:
扩展因子具体值矩阵43表征校验矩阵43。
基于基矩阵4扩展的校验矩阵44对应的扩展因子具体值矩阵44:
扩展因子具体值矩阵44表征校验矩阵44。
表征基矩阵5的矩阵20:
矩阵20可表征(12×32)的基矩阵5。前文已描述了表征第一基矩阵的矩阵可视为第一基矩阵。同理,表征基矩阵5的矩阵20可视为基矩阵5,这里不再详述。
基于基矩阵5扩展的校验矩阵51对应的扩展因子具体值矩阵51:
扩展因子具体值矩阵51表征校验矩阵51。
基于基矩阵5扩展的校验矩阵52对应的扩展因子具体值矩阵52:
扩展因子具体值矩阵52表征校验矩阵52。
基于基矩阵5扩展的校验矩阵53对应的扩展因子具体值矩阵53:
扩展因子具体值矩阵53表征校验矩阵53。
基于基矩阵5扩展的校验矩阵54对应的扩展因子具体值矩阵54:
扩展因子具体值矩阵51表征校验矩阵54。
基矩阵1至基矩阵5仅为本申请提供的第一基矩阵的一些示例,而不是全部的举例。应理解,对本申请提供的基矩阵进行行列置换所得到的基矩阵同样属于本申请保护的基矩阵。同理,上述示出的由基矩阵扩展得到的校验矩阵也仅是部分示例,而不是全部的示例。需要注意,本申请提供的第一基矩阵可包括上述基矩阵1至基矩阵3中的任一基矩阵的H行或M列,上述H为1至12中的整数,上述M为1至24中的整数。H行可以是连续的,也可以是不连续的。M列可以是连续的,也可以是不连续的。本申请提供的第一基矩阵可包括上述基矩阵4或基矩阵5中的L行或F列。L为1至12中的整数,上述F为1至32中的整数。L行可以是连续的,也可以是不连续的。F列可以是连续的,也可以是不连续的。也就是说,第一基矩阵可包括基矩阵1至基矩阵5中的任一基矩阵的部分行或部分列。同理,本申请提供的校验矩阵可包括上述校验矩阵41、校验矩阵42、校验矩阵43、校验矩阵44、校验矩阵51、校验矩阵52、校验矩阵53、校验矩阵54中的任一校验矩阵的部分行或部分列。本申请不仅保护提供的整个基矩阵和校验矩阵,还保护基矩阵中的部分行和部分列,以及校验矩阵中的部分行和部分列。
下面介绍基于同一个基矩阵扩展得到不同码长的校验矩阵可能的实现方式。
方式一
发送端基于第一基矩阵扩展得到校验矩阵0(上文的原校验矩阵),校验矩阵0的扩展因子为Z,例如Z=27;若需要得到扩展因子为Z1(大于或等于Z)的校验矩阵1,将校验矩阵0中的扩展因子具体值作为校验矩阵1中的相应位置的扩展因子具体值;若需要得到扩展因子为Z2(小于Z)的校验矩阵2,将校验矩阵0中的扩展因子具体值取模Z运算得到的值作为校验矩阵2中的相应位置的扩展因子具体值。校验矩阵1可以为前述第一校验矩阵,校验矩阵2可以为前述第二校验矩阵。校验矩阵1和校验矩阵2均符合第一基矩阵。校验矩阵1和校验矩阵2均可视为基于第一基矩阵扩展得到的校验矩阵。本申请中,基于同一个基矩阵扩展得到的多个校验矩阵中位置相同的元素一一对应。举例来说,发送端基于第一基矩阵扩展得到校验矩阵0,例如图6所示的矩阵,校验矩阵0中的每个元素为一个(Z×Z)的矩阵,将校验矩阵0中的扩展因子具体值作为校验矩阵1中的相应位置的扩展因子具体值;校验矩阵1与校验矩阵0的区别在于,校验矩阵1中的每个元素为一个(Z1×Z1)的矩阵,Z1大于Z。在该举例中,图6所示的矩阵可表示校验矩阵1与校验矩阵0。又举例来说,发送端基于第一基矩阵扩展得到校验矩阵0,例如图6所示的矩阵,校验矩阵0中的每个元素为一个(Z×Z)的矩阵,将校验矩阵0中的扩展因子具体值取模Z运算得到的值作为校验矩阵2中的相应位置的扩展因子具体值,例如校验矩阵0中的一个扩展因子具体值为b,校验矩阵2中的相应位置的扩展因子具体值为(b mod Z)。在该实现方式中,发送端可先扩展得到校验矩阵0,再基于校验矩阵0做简单变换得到所需扩展因子的校验矩阵。可见,在该实现方式中,发送端采用任何扩展因子扩展第一基矩阵均执行相同的扩展操作,不需要执行不同的扩展操作,编码复杂度较低。
方式二
发送端基于第一基矩阵扩展得到校验矩阵0,校验矩阵0的扩展因子为Z,例如Z=27;若需要得到扩展因子为Z1(大于或等于Z)的校验矩阵1时,将校验矩阵0中的扩展因子具体值加上Z的整倍数作为校验矩阵1中的相应位置的扩展因子具体值,例如校验矩阵0中的一个扩展因子具体值为b,校验矩阵1中的相应位置的扩展因子具体值为b、(b+Z)或(b+2Z)。这里,校验矩阵0可以为前述第一校验矩阵,校验矩阵1可以为前述第二校验矩阵。校验矩阵0和校验矩阵1均符合第一基矩阵。在方式二中,扩展因子Z可以是发送端扩展第一基矩阵可能采用的最小的扩展因子。或者说,发送端需要得到的校验矩阵中的CPM的扩展因子均大于或等于Z,因此不存在需要得到扩展因子小于Z的校验矩阵的情况。在该实现方式中,发送端可先扩展得到校验矩阵0,再基于校验矩阵0做简单变换得到所需扩展因子的校验矩阵。可见,在该实现方式中,发送端采用任何扩展因子扩展第一基矩阵均执行相同的扩展操作,不需要执行不同的扩展操作,编码复杂度较低。
方式三
发送端基于第一基矩阵扩展得到校验矩阵0,校验矩阵0的扩展因子为Z,例如Z=27;若需要得到扩展因子为Z3(小于Z)的校验矩阵3时,将校验矩阵0中的扩展因子具体值取模Z运算得到的值作为校验矩阵3中的相应位置的扩展因子具体值,例如校验矩阵0中的一个扩展因子具体值为b,校验矩阵3中的相应位置的扩展因子具体值为(b mod Z);若需要得到扩展因子为Z4(大于或等于Z)的校验矩阵4时,将校验矩阵0中的扩展因子具体值加上Z的整倍数作为校验矩阵4中的相应位置的扩展因子具体值,例如校验矩阵0中的一个扩展因子具体值为b,校验矩阵4中的相应位置的扩展因子具体值为b、(b+Z)或(b+2Z)。校验矩阵3可以为前述第一校验矩阵,校验矩阵4可以为前述第二校验矩阵。校验矩阵3和校验矩阵4均符合第一基矩阵。校验矩阵3和校验矩阵4均可视为基于第一基矩阵扩展得到的校验矩阵。需要注意,校验矩阵4中的各元素均不能大于Z1。在该实现方式中,发送端可先扩展得到校验矩阵0,再基于校验矩阵0做简单变换得到所需扩展因子的校验矩阵。可见,在该实现方式中,发送端采用任何扩展因子扩展第一基矩阵均执行相同的扩展操作,不需要执行不同的扩展操作,编码复杂度较低。
本申请描述了发送端基于第一基矩阵扩展得到多个校验矩阵的方式。应理解,接收端可采用类似的方式基于第一基矩阵扩展得到多个校验矩阵,这里不再赘述。
本申请提供的第二类方案是综合考虑LDPC码的性能、译码收敛速度、译码复杂度等中的多项因素,设计的几组复杂度低且译码收敛快的LDPC码的基矩阵和相应的校验矩阵。本申请中,LDPC码的基矩阵可按照准规则校验度进行设计,即基矩阵所有行的重量(非零项的个数)仅有两个值:d和d+1。d为大于0的整数,例如d=7。这种设计可提高LDPC译码流程中校验节点处理的效率,即不会造成资源浪费。同时,由于译码的时延或复杂度与校验节点的最大度相关度较高,因此本申请中尽可能最小化校验节点的最大度(如上上述d+1)。校验节点的最大度是指校验节点最大边的数目或校验矩阵的最大行重。
另外,针对变量节点的度分布优化,为了平衡编码性能、复杂度等因素,本申请引入了两个控制变量:平均变量节点度、斜率(slope)。通过调整上述两个控制变量,本申请提供的基矩阵和校验矩阵可有效平衡所设计LDPC码的性能、译码收敛速度、复杂度等因素。其中,平均变量节点度指校验矩阵的平均列重,即平均每列包含非零项的数目;这里斜率指所设计LDPC码的EBP-GEXIT图曲线的拟合斜率,具体原理和解释参见文献[1];
[1]G.Montorsi,“Design of LDPC codes with tunable slope of their EXITcharts,”in Turbo Codes and Iterative Information Processing(ISTC),2016 9thInternational Symposium on.IEEE,2016,pp.126–130.
本申请中,译码复杂度采用平均变量节点度(η)表述,则具体LDPC迭代译码的复杂度可由平均迭代次数与译码复杂度的乘积表示:C∝η·nit。其中,C表示大致译码运算复杂度的数量级,η表示平均变量节点度,nit表示平均迭代次数。为了说明本申请的基本设计思路,下面以码长320比特和640比特的LDPC码(即校验矩阵)为例,具体说明了采用不同的控制变量(平均变量节点度、斜率)所设计的不同LDPC码(对应于基矩阵),并给出了其性能分别在译码5、15和25次迭代达到FER=10-2和10-3所需的信噪比(signal noise ratio,SNR)。表1示出了根据码长n=320比特的校验矩阵进行5次译码迭代达到FER=10-3所需的SNR。表2示出了根据码长n=640比特的校验矩阵进行25次译码迭代达到FER=10-3所需的SNR。
表1
表2
斜率 | 3.00 | 3.10 | 3.20 | 3.30 | 3.40 | 3.50 | 3.60 | 3.70 | 3.80 | 3.90 |
-0.2 | 2.28 | 2.16 | 2.16 | 2.18 | 2.22 | 2.25 | 2.24 | 2.24 | 2.19 | 2.19 |
-0.15 | 2.28 | 2.25 | 2.25 | 2.23 | 2.13 | 2.16 | 2.23 | 2.23 | 2.13 | 2.13 |
-0.1 | 2.29 | 2.32 | 2.20 | 2.20 | 2.20 | 2.20 | 2.10 | 2.10 | 2.10 | 2.10 |
-0.05 | 2.31 | 2.32 | 2.21 | 2.21 | 2.19 | 2.18 | 2.12 | 2.12 | 2.11 | 2.11 |
0 | 2.30 | 2.27 | 2.19 | 2.21 | 2.13 | 2.20 | 2.19 | 2.19 | 2.19 | 2.19 |
表1和表2中,第一列表示上述控制参数中的斜率,第一行中的第二列至最后一列描述的是基矩阵的平均列重,表中的每一项表示在相应斜率(行)和平均列重(列)下达到FER=10-3所需的SNR值,该SNR值越低表示相应码的性能越优。下面取了两个典型的在性能和复杂度达到很好均衡的优化设计的码(即基矩阵):低复杂度(η=3.2)和高复杂度(η=3.6),如表2中加粗的数值所示。本申请中,可先得到所设计的LDPC码的基矩阵,再对该基矩阵进行扩展从而得到不同码长的LDPC码的校验矩阵。
本申请实施例提供的校验矩阵41、校验矩阵42、校验矩阵43以及校验矩阵44的码率均为1/2,码长分别为320、640、1280、2560比特。本申请实施例提供的校验矩阵51、校验矩阵52、校验矩阵53以及校验矩阵54的码率均为1/2,码长分别为320、640、1280、2560比特。校验矩阵41、校验矩阵42、校验矩阵43以及校验矩阵44符合的基矩阵4的复杂度为3.2,校验矩阵51、校验矩阵52、校验矩阵53以及校验矩阵54符合的基矩阵5的复杂度为3.6。基矩阵的复杂度可表征利用该基矩阵扩展的校验矩阵进行单次译码的复杂度。可理解,基矩阵的复杂度越好,表示利用该基矩阵扩展的校验矩阵进行单次译码的复杂度越高。本申请中,基矩阵的复杂度即为由该基矩阵得到的LDPC码的复杂度。
下面结合附图来描述本申请提供的复杂度分别为3.2和3.6的LDPC码在不同次分层译码迭代下的误包率(frame error rate,FER)仿真性能。3.2和3.6的LDPC码可以理解为采用本申请提供的基矩阵的进行LDPC编码或译码的方案。
图16A为本申请实施例提供的一种LDPC码25次分层译码迭代下的FER仿真性能对比示意图。参阅图16A,横坐标表示SNR,纵坐标表示FER,NR 320表示NR系统中根据码率为1/2、码长为320比特的校验矩阵进行15分层译码迭代下的FER,WiFi 312表示WiFi设备(例如站点或接入点)根据码率为1/2、码长为320比特的校验矩阵进行15分层译码迭代下的FER,320 3.2表示接收端根据码率为1/2、码长为320比特且复杂度为3.2的LDPC码进行15分层译码迭代下的FER,640 3.6表示接收端根据码率为1/2、码长为320比特且复杂度为3.6的LDPC码进行15分层译码迭代下的FER;NR 640表示NR系统中根据码率为1/2、码长为640比特的校验矩阵进行15分层译码迭代下的FER,WiFi 624表示WiFi设备(例如站点或接入点)根据码率为1/2、码长为640比特的校验矩阵进行15分层译码迭代下的FER,640 3.2表示接收端根据码率为1/2、码长为640比特且复杂度为3.2的LDPC码进行15分层译码迭代下的FER,6403.6表示接收端根据码率为1/2、码长为640比特且复杂度为3.6的LDPC码进行15分层译码迭代下的FER;NR 1280表示NR系统中根据码率为1/2、码长为1280比特的校验矩阵进行15分层译码迭代下的FER,WiFi 1248表示WiFi设备(例如站点或接入点)根据码率为1/2、码长为1280比特的校验矩阵进行15分层译码迭代下的FER,1280 3.2表示接收端根据码率为1/2、码长为1280比特且复杂度为3.2的LDPC码进行15分层译码迭代下的FER,1280 3.6表示接收端根据码率为1/2、码长为1280比特且复杂度为3.6的LDPC码进行15分层译码迭代下的FER;NR 2560表示NR系统中根据码率为1/2、码长为2560比特的校验矩阵进行15分层译码迭代下的FER,WiFi 2496表示WiFi设备(例如站点或接入点)根据码率为1/2、码长为2560比特的校验矩阵进行15分层译码迭代下的FER,2560 3.2表示接收端根据码率为1/2、码长为2560比特且复杂度为3.2的LDPC码进行15分层译码迭代下的FER,2560 3.6表示接收端根据码率为1/2、码长为2560比特且复杂度为3.6的LDPC码进行15分层译码迭代下的FER。
图16B为本申请提供的一种LDPC码15次分层译码迭代下的FER仿真性能对比示意图。图16C为本申请提供的一种LDPC码5次分层译码迭代下的FER仿真性能对比示意图。图16B和图16C中的各线条的含义与图16A中的各线条的含义类似,这里不再赘述。
参阅图16A、图16B以及图16C,本申请所设计LDPC码在译码迭代次数较小(例如5次迭代)下,可获得更优异的性能,且可灵活控制译码复杂度和性能之间的均衡。表3、表4、表5分别示出了本申请提供的LDPC码与WLAN LDPC和NR LDPC在不同译码迭代次数下性能和复杂度之间的全面比较。可见,在低复杂度情况下,本申请提供的LDPC码可获得更优的性能,且仅需实现单个基矩阵的扩展。
表3
表3示出了本申请提供的LDPC码与WLAN LDPC和NR LDPC在5次分成译码迭代下的性能和复杂度之间的全面比较。New 3.2表示本申请提供的码率为1/2、码长为2560比特且复杂度为3.2的LDPC码(对应于本申请提供的一种基矩阵)。New 3.6表示本申请提供的码率为1/2、码长为2560比特且复杂度为3.6的LDPC码(对应于本申请提供的另一种基矩阵)。第二列表示平均变量节点度,SNR@1e-2表示译码5次迭代达到FER=10-2所需的SNR。SNR@1e-2表示译码5次迭代达到FER=10-3所需的SNR。
表4
表4示出了本申请提供的LDPC码与WLAN LDPC和NR LDPC在15次分成译码迭代下的性能和复杂度之间的全面比较。表4中各参数的含义可参阅表3。
表5
表5示出了本申请提供的LDPC码与WLAN LDPC和NR LDPC在25次分成译码迭代下的性能和复杂度之间的全面比较。表5中各参数的含义可参阅表3。
下面分别给出采用本申请提供的校验矩阵在10、15和25次译码迭代次数下的性能比较。图17A为本申请实施例提供的一种校验矩阵41、校验矩阵42、校验矩阵43、校验矩阵44在10次译码迭代次数下的性能示意图。图17B为本申请实施例提供的一种校验矩阵41、校验矩阵42、校验矩阵43、校验矩阵44在15次译码迭代次数下的性能示意图。图17C为本申请实施例提供的一种校验矩阵41、校验矩阵42、校验矩阵43、校验矩阵44在25次译码迭代次数下的性能示意图。在图17A、图17B、图17C中,1701代表校验矩阵41的性能曲线,1702代表校验矩阵42的性能曲线,1703代表校验矩阵43的性能曲线,1704代表校验矩阵44的性能曲线。图18A为本申请实施例提供的一种校验矩阵51、校验矩阵52、校验矩阵53、校验矩阵54在10次译码迭代次数下的性能示意图。图18B为本申请实施例提供的一种校验矩阵51、校验矩阵52、校验矩阵53、校验矩阵54在15次译码迭代次数下的性能示意图。图18C为本申请实施例提供的一种校验矩阵51、校验矩阵52、校验矩阵53、校验矩阵54在25次译码迭代次数下的性能示意图。在图18A、图18B、图18C中,1801代表校验矩阵51的性能曲线,1802代表校验矩阵52的性能曲线,1803代表校验矩阵53的性能曲线,1804代表校验矩阵54的性能曲线。
从图17A、图17B、图17C、图18A、图18B、图18C可以看出,本申请采用单个基矩阵和不同扩展因子可获得优异的译码性能,同时在译码性能和复杂度之间可取的很好的折衷。
下面结合附图介绍可实施本申请实施例提供的LDPC码的编码方法或LDPC码的译码方法的通信装置的结构。
图19为本申请实施例提供的一种通信装置1900的结构示意图。该通信装置1900可以对应实现上述各个方法实施例中发送端实现的功能或者步骤,也可以对应实现上述各个方法实施例中接收端实现的功能或者步骤。该通信装置可以包括处理模块1910和收发模块1920。可选的,还可以包括存储单元,该存储单元可以用于存储指令(代码或者程序)和/或数据。处理模块1910和收发模块1920可以与该存储单元耦合,例如,处理模块1910可以读取存储单元中的指令(代码或者程序)和/或数据,以实现相应的方法。上述各个单元可以独立设置,也可以部分或者全部集成。例如,收发模块1920可包括发送模块和接收模块。发送模块可以是发射机,接收模块可以是接收机。收发模块1920对应的实体可以是收发器,也可以是通信接口。
在一些可能的实施方式中,通信装置1900能够对应实现上述方法实施例中发送端的行为和功能。例如通信装置1900可以为站点,也可以为应用于站点中的部件(例如芯片或者电路)。例如通信装置1900可以为接入点,也可以为应用于接入点中的部件(例如芯片或者电路)。收发模块1920例如可以用于执行图8、图9、图10的实施例中由发送端所执行的全部接收或发送操作,例如图8所示的实施例中的步骤802,图9所示的实施例中的步骤903,图10所示的实施例中的步骤1003、步骤1007,和/或用于支持本文所描述的技术的其它过程。处理模块1910用于执行图8、图9、图10的实施例中由发送端所执行的除了收发操作之外的全部操作,例如图8所示的实施例中的步骤801,图9所示的实施例中的步骤902、步骤902,图10所示的实施例中的步骤1001、步骤1002、步骤1006、步骤1007。
在一些可能的实施方式中,通信装置1900能够对应实现上述方法实施例中接收端的行为和功能。例如通信装置1900可以为接入点,也可以为应用于接入点中的部件(例如芯片或者电路)。例如通信装置1900可以为站点,也可以为应用于站点中的部件(例如芯片或者电路)。收发模块1920例如可以用于执行图8、图9、图10的实施例中由接收端所执行的全部接收或发送操作,例如图8所示的实施例中的步骤802,图9所示的实施例中的步骤903,图10所示的实施例中的步骤1003、步骤1008,和/或用于支持本文所描述的技术的其它过程。处理模块1910用于执行由接收端所执行的除了收发操作之外的全部操作,例如图8所示的实施例中的步骤803、步骤804,图9所示的实施例中的步骤904、步骤905、步骤906、步骤907,图10所示的实施例中的步骤1004、步骤1005、步骤1009、步骤1010。
图20为本申请实施例提供的另一种通信装置200的结构示意图。图20中的通信装置可以是上述发送端,也可以是上述接收端。
如图20所示,该通信装置200包括至少一个处理器2010和收发器2020。
在本申请的一些实施例中,处理器2010和收发器2020可以用于执行发送端执行的功能或操作等。收发器2020例如执行图8、图9、图10的实施例中由发送端所执行的全部接收或发送操作。处理器2010例如用于执行图8、图9、图10的实施例中由发送端所执行的除了收发操作之外的全部操作。
在本申请的一些实施例中,处理器2010和收发器2020可以用于执行接收端执行的功能或操作等。收发器2020例如执行图8、图9、图10的实施例中由接收端点所执行的全部接收或发送操作。处理器2010用于执行由接收端所执行的除了收发操作之外的全部操作。
收发器2020用于通过传输介质和其他设备/装置进行通信。处理器2010利用收发器2020收发数据和/或信令,并用于实现上述方法实施例中的方法。处理器2010可实现处理模块1910的功能,收发器2020可实现收发模块1920的功能。
可选的,收发器2020可以包括射频电路和天线,射频电路主要用于基带信号与射频信号的转换以及对射频信号的处理。天线主要用于收发电磁波形式的射频信号。输入输出装置,例如触摸屏、显示屏,键盘等主要用于接收用户输入的数据以及对用户输出数据。
可选的,通信装置200还可以包括至少一个存储器2030,用于存储程序指令和/或数据。存储器2030和处理器2010耦合。本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器2010可能和存储器2030协同操作。处理器2010可能执行存储器2030中存储的程序指令。该至少一个存储器中的至少一个可以包括于处理器中。
当通信装置200开机后,处理器2010可以读取存储器2030中的软件程序,解释并执行软件程序的指令,处理软件程序的数据。当需要通过无线发送数据时,处理器2010对待发送的数据进行基带处理后,输出基带信号至射频电路,射频电路将基带信号进行射频处理后将射频信号通过天线以电磁波的形式向外发送。当有数据发送到通信装置时,射频电路通过天线接收到射频信号,将射频信号转换为基带信号,并将基带信号输出至处理器2010,处理器2010将基带信号转换为数据并对该数据进行处理。
在另一种实现中,上述的射频电路和天线可以独立于进行基带处理的处理器而设置,例如在分布式场景中,射频电路和天线可以与独立于通信装置,呈拉远式的布置。
本申请实施例中不限定上述收发器2020、处理器2010以及存储器2030之间的具体连接介质。本申请实施例在图20中以存储器2030、处理器2010以及收发器2020之间通过总线2040连接,总线在图20中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图20中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
图21为本申请实施例提供的另一种通信装置210的结构示意图。如图21所示,图21所示的通信装置包括逻辑电路2101和接口2102。图19中的处理模块1910可以用逻辑电路2101实现,图19中的收发模块1920可以用接口2102实现。其中,该逻辑电路2101可以为芯片、处理电路、集成电路或片上系统(system on chip,SoC)芯片等,接口2102可以为通信接口、输入输出接口等。本申请实施例中,逻辑电路和接口还可以相互耦合。对于逻辑电路和接口的具体连接方式,本申请实施例不作限定。
在本申请的一些实施例中,该逻辑电路和接口可用于执行上述发送端执行的功能或操作等。
在本申请的一些实施例中,该逻辑电路和接口可用于执行上述接收端执行的功能或操作等。
本申请还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令在计算机上运行时,使得计算机执行上述实施例的方法。
本申请还提供一种计算机程序产品,该计算机程序产品包括指令或计算机程序,当该指令或计算机程序在计算机上运行时,使得上述实施例中的方法被执行。
本申请还提供一种通信系统,包括上述发送端和上述接收端。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以上述权利要求的保护范围为准。
Claims (20)
1.一种LDPC码的编码方法,其特征在于,包括:
根据校验矩阵,对第一比特序列进行低密度奇偶校验LDPC编码,得到第一数据包,所述校验矩阵包括第一校验矩阵和第二校验矩阵,所述第一校验矩阵和所述第二校验矩阵均符合第一基矩阵,所述第一校验矩阵的码长和所述第二校验矩阵的码长不同;
发送所述第一数据包。
2.一种LDPC码的译码方法,其特征在于,包括:
获取接收到的第一信道接收序列对应的第一对数似然比LLR序列;
根据校验矩阵,对所述第一LLR序列进行译码,所述校验矩阵包括第一校验矩阵和第二校验矩阵,所述第一校验矩阵和所述第二校验矩阵均符合第一基矩阵,所述第一校验矩阵的码长和所述第二校验矩阵的码长不同。
3.根据权利要求1或2所述的方法,其特征在于,所述第一校验矩阵中的第一位置的循环位移矩阵CPM的扩展因子具体值为b,所述第一校验矩阵中的第一位置的CPM的扩展因子为Z1,所述第二校验矩阵中的第一位置的CPM的扩展因子具体值为(b mod Z),所述第二校验矩阵中的第一位置的CPM的扩展因子为Z2,所述Z、所述Z1、所述Z2均为大于0的整数,所述Z1大于或等于所述Z,所述Z2小于所述Z。
4.根据权利要求1或2所述的方法,其特征在于,所述第一校验矩阵中的第一位置的CPM的扩展因子具体值为b,所述第一校验矩阵中的第一位置的CPM的扩展因子为Z3,所述第二校验矩阵中的第一位置的CPM的扩展因子具体值为b、(b+Z)、(b+2Z)中的任一个,所述第二校验矩阵中的第一位置的CPM的扩展因子为Z4,所述Z、所述Z3、所述Z4均为大于0的整数,所述Z3小于所述Z,所述Z4大于或等于所述Z。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述第一基矩阵包括如下所示(12×24)矩阵中的H行或M列:
所述H为1至12中的整数,所述M为1至24中的整数。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述第一基矩阵包括如下所示(12×24)矩阵中的H行或M列:
所述H为1至12中的整数,所述M为1至24中的整数。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述第一基矩阵包括如下所示(12×24)矩阵中的H行或M列:
所述H为1至12中的整数,所述M为1至24中的整数。
8.根据权利要求1至4任一项所述的方法,其特征在于,所述第一基矩阵包括如下所示(12×7)的第一矩阵对应的(12×32)的第二矩阵中的L行或F列:
所述第一矩阵的第i行的任一元素为u,所述第二矩阵的第i行的第(u+1)列的元素为1,所述i和所述L为1至12中的整数,所述F为1至32中的整数。
9.根据权利要求8所述的方法,其特征在于,所述第一校验矩阵包括如下所示(12×7)的第三矩阵对应的(12×32)第四矩阵中的S行或T列:
所述第一矩阵的第j行的第二位置的元素为p,所述第三矩阵的第j行的所述第二位置的元素为q,所述第四矩阵的第j行的第(p+1)列的元素为q,所述第四矩阵中的0表示大小为(K×K)的单位矩阵,所述第四矩阵中的大于0的元素表示大小为(K×K)的CPM,所述第二位置为任一位置,所述j为1至12中的整数,所述p为0至31中的整数,所述q为0至79中的整数,所述K为大于1的整数,所述S为1至12中的整数,所述T为1至32中的整数。
10.根据权利要求8所述的方法,其特征在于,所述第一校验矩阵包括如下所示(12×7)的第三矩阵对应的(12×32)第四矩阵中的S行或T列:
所述第一矩阵的第j行的第二位置的元素为p,所述第三矩阵的第j行的所述第二位置的元素为q,所述第四矩阵的第j行的第(p+1)列的元素为q,所述第四矩阵中的0表示大小为(K×K)的单位矩阵,所述第四矩阵中的大于0的元素表示大小为(K×K)的CPM,所述第二位置为任一位置,所述j为1至12中的整数,所述p为0至31中的整数,所述q为0至39中的整数,所述K为大于1的整数,所述S为1至12中的整数,所述T为1至32中的整数。
11.根据权利要求8所述的方法,其特征在于,所述第一校验矩阵包括如下所示(12×7)的第三矩阵对应的(12×32)第四矩阵中的S行或T列:
所述第一矩阵的第j行的第二位置的元素为p,所述第三矩阵的第j行的所述第二位置的元素为q,所述第四矩阵的第j行的第(p+1)列的元素为q,所述第四矩阵中的0表示大小为(K×K)的单位矩阵,所述第四矩阵中的大于0的元素表示大小为(K×K)的CPM,所述第二位置为任一位置,所述j为1至12中的整数,所述p为0至31中的整数,所述q为0至19中的整数,所述K为大于1的整数,所述S为1至12中的整数,所述T为1至32中的整数。
12.根据权利要求8所述的方法,其特征在于,所述第一校验矩阵包括如下所示(12×7)的第三矩阵对应的(12×32)第四矩阵中的S行或T列:
所述第一矩阵的第j行的第二位置的元素为p,所述第三矩阵的第j行的所述第二位置的元素为q,所述第四矩阵的第j行的第(p+1)列的元素为q,所述第四矩阵中的0表示大小为(K×K)的单位矩阵,所述第四矩阵中的大于0的元素表示大小为(K×K)的CPM,所述第二位置为任一位置,所述j为1至12中的整数,所述p为0至31中的整数,所述q为0至9中的整数,所述K为大于1的整数,所述S为1至12中的整数,所述T为1至32中的整数。
13.根据权利要求1至4任一项所述的方法,其特征在于,所述第一基矩阵包括如下所示的第一矩阵对应的(12×32)的第二矩阵中的L行或F列:
所述第一矩阵的第i行的任一元素为u,所述第二矩阵的第i行的第(u+1)列的元素为1,所述i和所述L为1至12中的整数,所述F为1至32中的整数。
14.根据权利要求13所述的方法,其特征在于,所述第一校验矩阵包括如下所示的第三矩阵对应的(12×32)第四矩阵中的S行或T列:
所述第一矩阵的第j行的第二位置的元素为p,所述第三矩阵的第j行的所述第二位置的元素为q,所述第四矩阵的第j行的第(p+1)列的元素为q,所述第四矩阵中的0表示大小为(K×K)的单位矩阵,所述第四矩阵中的大于0的元素表示大小为(K×K)的CPM,所述第二位置为任一位置,所述j为1至12中的整数,所述p为0至31中的整数,所述q为0至79中的整数,所述K为大于1的整数,所述S为1至12中的整数,所述T为1至32中的整数。
15.根据权利要求13所述的方法,其特征在于,所述第一校验矩阵包括如下所示的第三矩阵对应的(12×32)第四矩阵中的S行或T列:
所述第一矩阵的第j行的第二位置的元素为p,所述第三矩阵的第j行的所述第二位置的元素为q,所述第四矩阵的第j行的第(p+1)列的元素为q,所述第四矩阵中的0表示大小为(K×K)的单位矩阵,所述第四矩阵中的大于0的元素表示大小为(K×K)的CPM,所述第二位置为任一位置,所述j为1至12中的整数,所述p为0至31中的整数,所述q为0至39中的整数,所述K为大于1的整数,所述S为1至12中的整数,所述T为1至32中的整数。
16.根据权利要求13所述的方法,其特征在于,所述第一校验矩阵包括如下所示的第三矩阵对应的(12×32)第四矩阵中的S行或T列:
所述第一矩阵的第j行的第二位置的元素为p,所述第三矩阵的第j行的所述第二位置的元素为q,所述第四矩阵的第j行的第(p+1)列的元素为q,所述第四矩阵中的0表示大小为(K×K)的单位矩阵,所述第四矩阵中的大于0的元素表示大小为(K×K)的CPM,所述第二位置为任一位置,所述j为1至12中的整数,所述p为0至31中的整数,所述q为0至19中的整数,所述K为大于1的整数,所述S为1至12中的整数,所述T为1至32中的整数。
17.根据权利要求13所述的方法,其特征在于,所述第一校验矩阵包括如下所示的第三矩阵对应的(12×32)第四矩阵中的S行或T列:
所述第一矩阵的第j行的第二位置的元素为p,所述第三矩阵的第j行的所述第二位置的元素为q,所述第四矩阵的第j行的第(p+1)列的元素为q,所述第四矩阵中的0表示大小为(K×K)的单位矩阵,所述第四矩阵中的大于0的元素表示大小为(K×K)的CPM,所述第二位置为任一位置,所述j为1至12中的整数,所述p为0至31中的整数,所述q为0至9中的整数,所述K为大于1的整数,所述S为1至12中的整数,所述T为1至32中的整数。
18.一种通信装置,其特征在于,包括用于实现权利要求1至17中任一项所述的方法的模块或单元。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被执行时使得计算机执行如权利要求1至17中任一项所述的方法。
20.一种通信装置,其特征在于,包括处理器,所述处理器与存储器耦合,所述存储器存储指令,所述处理器用于执行所述指令,使得所述通信装置执行如权利要求1至17任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210688993.0A CN117294315A (zh) | 2022-06-18 | 2022-06-18 | Ldpc的编译码方法和相关装置 |
TW112121727A TW202404272A (zh) | 2022-06-18 | 2023-06-09 | Ldpc的編譯碼方法和相關裝置 |
PCT/CN2023/100206 WO2023241626A1 (zh) | 2022-06-18 | 2023-06-14 | Ldpc的编译码方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210688993.0A CN117294315A (zh) | 2022-06-18 | 2022-06-18 | Ldpc的编译码方法和相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117294315A true CN117294315A (zh) | 2023-12-26 |
Family
ID=89192333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210688993.0A Pending CN117294315A (zh) | 2022-06-18 | 2022-06-18 | Ldpc的编译码方法和相关装置 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN117294315A (zh) |
TW (1) | TW202404272A (zh) |
WO (1) | WO2023241626A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2953666B1 (fr) * | 2009-12-09 | 2012-07-13 | Commissariat Energie Atomique | Procede de codage ldpc a redondance incrementale |
CN112751571A (zh) * | 2019-10-30 | 2021-05-04 | 华为技术有限公司 | 一种ldpc的编码方法及装置 |
CN113078911A (zh) * | 2020-01-03 | 2021-07-06 | 华为技术有限公司 | Ldpc码的编码的方法和通信装置 |
CN113612486B (zh) * | 2021-08-16 | 2024-02-20 | 重庆大学 | 一种构建pbrl ldpc码的基矩阵方法、系统、装置及存储介质 |
-
2022
- 2022-06-18 CN CN202210688993.0A patent/CN117294315A/zh active Pending
-
2023
- 2023-06-09 TW TW112121727A patent/TW202404272A/zh unknown
- 2023-06-14 WO PCT/CN2023/100206 patent/WO2023241626A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023241626A1 (zh) | 2023-12-21 |
TW202404272A (zh) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10868567B2 (en) | Methods and systems for encoding and decoding for LDPC codes | |
US11671115B2 (en) | High-rate long LDPC codes | |
US11258536B2 (en) | Method and apparatus for encoding/decoding channel in communication or broadcasting system | |
US11664928B2 (en) | Multi-label offset lifting method | |
CN107211033A (zh) | 数据传输的方法和设备 | |
WO2022161201A1 (zh) | 编码调制与解调解码方法及装置 | |
EP3580865B1 (en) | Mcs for long ldpc codes | |
US20240039777A1 (en) | Modulation method, demodulation method, and communication apparatus | |
CN111357218B (zh) | 用于在通信或广播系统中对信道进行编码和解码的方法和设备 | |
US10211951B2 (en) | Decoding method and apparatus | |
WO2023273995A1 (zh) | 数据处理方法及装置 | |
CN117294315A (zh) | Ldpc的编译码方法和相关装置 | |
CN117749315A (zh) | 编码方法、译码方法、通信装置及计算机可读存储介质 | |
WO2023216991A1 (zh) | Ldpc的编译码方法和相关装置 | |
CN108234068B (zh) | 传输低密度奇偶校验码的方法及其设备 | |
WO2023051172A1 (zh) | 编码方法、译码方法及装置 | |
CN117318881A (zh) | 编码方法、译码方法及装置 | |
Li et al. | Uplink Cooperative Detection for Non-binary Coded Wireless Network |
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 |