CN110249536B - 高码率的长ldpc码 - Google Patents
高码率的长ldpc码 Download PDFInfo
- Publication number
- CN110249536B CN110249536B CN201780085577.9A CN201780085577A CN110249536B CN 110249536 B CN110249536 B CN 110249536B CN 201780085577 A CN201780085577 A CN 201780085577A CN 110249536 B CN110249536 B CN 110249536B
- Authority
- CN
- China
- Prior art keywords
- matrix
- parity check
- check matrix
- ldpc
- 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.)
- Active
Links
Images
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/1157—Low-density generator matrices [LDGM]
-
- 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/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/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/114—Shuffled, staggered, layered or turbo decoding schedules
-
- 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/1174—Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized LDPC codes
-
- 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
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1575—Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
-
- 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- 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/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6516—Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
-
- 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/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
- H03M13/6527—IEEE 802.11 [WLAN]
-
- 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
-
- 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
- H04L1/0063—Single parity check
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Error Detection And Correction (AREA)
- Optical Communication System (AREA)
- Dc Digital Transmission (AREA)
Abstract
本申请公开了用于利用LDPC矩阵对源字进行编码和对码字进行解码的方法和设备。根据示例实施例,提供了一种新的高码率的长LDPC码,包括保留了不同码率的其他LDPC码所使用的码长1344的、码率为7/8(1344,1176)的LDPC码,以便相对于其他可能的解决方案,通过在编码和单载波(SC)分块中填充更少的零来简化实施方式及提高频谱效率。
Description
技术领域
本申请涉及移动空中接口技术,尤其涉及用于二进制低密度奇偶校验(lowdensity parity check,LDPC)码的编码和解码的方法和系统。
背景技术
发送端处的LDPC编码器用于对源字(source word)进行编码以生成码字(codeword)。接收端处的LDPC解码器用于对接收的码字进行解码。各种码率的LDPC码已经在IEEE802.11ad标准中予以采用,并且目前正在针对开发中的IEEE 802.11ay标准进行各种码率的LDPC码的拟议。迄今为止,针对7/8LDPC码率提出的长LDPC码的码长与不同码率的长LDPC码所使用的码长不同。然而,针对不同码率的长LDPC码使用不同的LDPC码长会影响发送端和接收端处的分块(blocking)和解分块(de-blocking)过程的实现。因此,对于不同的码率,期望具有一致的码长。
发明内容
根据示例实施例,提供了一种新的高码率的长LDPC码,包括保留了不同码率的其他LDPC码所使用的码长1344的、码率为7/8(1344,1176)的LDPC码,以便相对于其他可能的解决方案,通过在编码和单载波(SC)分块中填充更少的零来简化实施方式及提高频谱效率。
根据一示例方面,提供了一种用于对源字进行编码的方法和系统,包括:接收1×K的源字行向量生成1×N的码字向量其中,G是从奇偶校验矩阵HI导出的K×N的生成矩阵;以及其中,HI是通过将优化的提升矩阵(lifting matrix)应用于基奇偶校验矩阵H,从所述基奇偶校验矩阵H导出的,所述优化的提升矩阵是:
1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | |||
1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | ||
0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | ||
0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
或者:
0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | |||
1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | ||
0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | ||
0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
在一些示例中,将所述中间奇偶校验矩阵中的不同行相加以得到HI。在一些示例中,HI为:
37 | 35 | 31 | 19 | 41 | 18 | 22 | 23 | 40 | 11 | 41 | 21 | 39 | 6 | 20 | 6 | 32 | 28 | 18 | 9 | 12 | 17 | 3 | 29 | 28 | 0 | 13 | |||||
35 | 37 | 19 | 31 | 18 | 41 | 23 | 22 | 11 | 40 | 21 | 41 | 6 | 39 | 6 | 20 | 28 | 32 | 9 | 18 | 17 | 12 | 29 | 3 | 28 | 0 | 13 | |||||
25 | 29 | 30 | 22 | 0 | 4 | 34 | 8 | 31 | 33 | 3 | 22 | 14 | 17 | 15 | 4 | 4 | 27 | 28 | 14 | 20 | 27 | 18 | 13 | 24 | 13 | 23 | 22 | 24 | |||
29 | 25 | 22 | 30 | 4 | 0 | 8 | 34 | 33 | 31 | 22 | 3 | 17 | 14 | 4 | 15 | 27 | 4 | 28 | 20 | 14 | 18 | 27 | 24 | 13 | 23 | 13 | 22 | 24 |
根据一示例方面,提供了一种用于对源字进行编码的方法,包括:接收1×K的源字行向量生成1×N的码字向量其中,G是从奇偶校验矩阵Hl导出的K×N的生成矩阵;Hl是通过以下从基奇偶校验矩阵H导出的:对所述基奇偶校验矩阵H中的不同行求和以得到中间奇偶校验矩阵,将提升矩阵应用于所述中间奇偶校验矩阵以得到Hl。
附图说明
现在将通过示例的方式参考示出本申请的示例实施例的附图,其中:
图1A是示出根据本公开的一个实施方式的示例通信系统的框图;
图1B是示出根据本公开的一个实施方式的示例处理系统的框图;
图2A是表示本公开的发送端的一示例实施方式的框图;
图2B是示出本公开的处理信息比特流的方法中的示例步骤的框图;
图3是表示本公开的LDPC编码器的一示例实施方式的框图;
图4A是示出802.11ad的示例单载波帧格式的图;
图4B是示出802.11ad的单载波帧格式的数据块的一示例结构的图;
图5A-图5D是IEEE802.11ad中规定的划分的LDPC奇偶校验矩阵,其中码长为672,图5E示出了从4×4的单位矩阵获得的循环置换子矩阵;
图6A-6D是IEEE802.11ay中拟议的划分的LDPC奇偶校验矩阵,其中码长为1344;
图7A-7C是示出使用不同调制技术的单载波分块的图;
图8示出了基于802.11中码率为3/4的LDPC的、码率为7/8的长度较短的LDPC矩阵Hn;
图9是示出针对Z=4的简化情况对循环置换矩阵进行求和的示例的图;
图10示出了根据本公开的用于基于802.11中码率为3/4的LDPC生成码率为7/8的码长为1344的LDPC矩阵Hl的方法;
图11示出了根据本公开的用于基于802.11中码率为3/4的LDPC生成码率为7/8的码长为1344的LDPC矩阵Hl的另一方法的又一示例;
图12显示了用于图11所述的方法的替代提升矩阵;
图13示出了根据本公开的用于基于802.11中码率为3/4的LDPC生成码率为7/8的码长为1344的LDPC矩阵Hl的另一方法的又一示例;
图14显示了用于图13所述的方法的替代提升矩阵;
图15A是表示本公开的接收端的示例实施方式的框图;
图15B是表示根据本公开的一个实施例的对接收信号进行解码的过程中的示例步骤的框图;
图16是表示本公开的LDCP解码器的示例实施方式的框图;以及
图17是示出示例LDPC解码过程的图。
全部附图中使用相同的附图标记来表示类似的元件和特征。虽然将结合所示实施例对本发明的各方面进行描述,但是应该理解,并不旨在将本发明限制于这些实施例。
具体实施方式
本公开教导了用于在无线网络中对源字进行编码和对码字进行解码的方法、设备和系统。虽然以下主要针对802.11ay兼容的网络进行描述,但是本公开还可以应用于其他基于分块编码的系统。
码长为1344比特、具有较低码率1/2、5/8、3/4和13/16的长LDPC码字可以基于IEEE802.11ad标准中规定的对应的672比特的LDPC码字的两步提升来生成。然而,仍然需要合适的更高码率的LDPC码,例如,码率为7/8的码,其使用的长码字与较低码率的长码字具有相同的码长(例如1344比特)。关于这一点,本公开描述了一种高码率的长LDPC码,诸如具有1344比特码长的码率为7/8的LDPC码。
根据上下文,关于802.11ay标准的开发,与LDPC码有关的提案包括“IEEE802.11-16/0676-01-00ay-length-1344-LDPC-codes-for-11ay”[参考文件1]和“IEEE802.11-16/1495-00-00ay-rate-7-8-ldpc-code-for-11ay”[参考文件2]。[参考文件1]提出了通过对码长为1344比特、码率为13/16的LDPC码字的前96个奇偶校验位进行打孔(puncturing)而生成的码率为7/8的长LDPC码。然而,该打孔过程应用于所述码长为1344的LDPC码后,产生了码长为1248比特、码率为7/8的LDPC码(相比于较低码率的LDPC码的1344码长)。不同的LDPC码字大小将影响发送端和接收端处的编码和单载波(single carrier,SC)分块(将符号映射到码块)的实现。因此,期望对于不同的码率,码长能够保持相同。
[参考文件2]提出了码长为672比特的高码率(7/8)的短LDPC码,其保留了扩展因子42和码长672,这相对于802.11ad[3]中对较低码率码规定的扩展因子和码长保持不变。本公开描述了使用同样可应用于较低码率码的码长而实现的高码率的长LDPC码。
以下将参考图1A和图1B提供以下详细描述的LDPC编码系统可在其中进行操作的环境的示例。图1A示出了包括多个站(STA)102和接入点(AP)104的通信网络100。每个STA102和AP 104可以包括本文中所述的发送端、接收端、编码器和/或解码器。网络100可以根据一个或多个通信或数据标准或技术来操作,包括但不限于IEEE 802.11网络、第五代(5G)或第四代(4G)电信网络、长期演进(Long-Term Evolution,LTE)、第三代合作伙伴关系项目(3rd Generation Partnership Project,3GPP)、通用移动电信系统(Universal MobileTelecommunications System,UMTS)和其他无线或移动通信网络。STA 102通常可以是能够提供无线通信或使用802.11协议的任何设备。STA 102可以是笔记本电脑、台式PC、PDA、接入点或Wi-Fi电话、无线发送/接收单元(wireless transmit/receive unit,WTRU)、移动站(mobile station,MS)、移动终端、智能电话、蜂窝电话或其他无线启用的计算或移动设备。在一些实施例中,STA 102包括一种机器,所述机器具有在通信网络100中发送、接收或发送和接收数据的能力,但其执行除通信之外的主要功能。在一个实施例中,一种机器包括一种装置或设备,所述装置或设备具有通过通信网络100发送和/或接收数据的工具,但是这种装置或设备通常不由用户操作用于通信的主要目的。AP 104可以包括基站(BS)、演进节点B(eNB)、无线路由器或其他网络接口,且其用作网络100中的STA 102的无线传输和/或接收点。AP 104与回程网络110连接,回程网络110使得数据能够在AP 104与其他远程网络、节点、AP和设备(未示出)之间进行交换。通过与每个STA 102建立上行和下行通信信道,AP104可以支持与每个STA 102的通信,如图1A中的箭头所示。网络100中的通信可以是未调度的,可以由AP 104或由网络100中的调度或管理实体(未示出)进行调度,或者可以是调度和非调度通信的混合。
图1B示出了示例处理系统150,其可以用于实现本文描述的方法和系统(例如STA102或AP 104)。处理系统150可以是例如基站、无线路由器、移动设备或任何合适的处理系统。可以使用适于实现本公开的其他处理系统,其可以包括与以下讨论的那些组件不同的组件。尽管图1B示出了每个组件的单个实例,但是处理系统150中的每个组件可以存在多个实例。
处理系统150可以包括一个或多个处理设备152,例如处理器、微处理器、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、专用逻辑电路、或者其组合。处理系统150还可以包括一个或多个输入/输出(I/O)接口154,其可以实现与一个或多个适当的输入设备和/或输出设备(未示出)的接口连接。所述输入设备和/或输出设备中的一个或多个可以作为处理系统150的组件而被包括,或者可以位于处理系统150的外部。处理系统150可以包括用于与网络进行有线或无线通信的一个或多个网络接口158,所述网络为例如但不限于内联网、因特网、P2P网络、WAN、LAN、WLAN和/或蜂窝或移动通信网络(例如5G、4G、LTE或如上所述的其他网络)。(一个或多个)网络接口158可以包括用于网络内和/或网络间通信的有线链路(例如,以太网电缆)和/或无线链路(例如,一个或多个射频链路)。例如,(一个或多个)网络接口158可以经由一个或多个发送端或发送天线、一个或多个接收端或接收天线以及各种信号处理硬件和软件来提供无线通信。在该示例中,示出了单个天线160,其可以既用作发送天线又用作接收天线。然而,在其他示例中,可以存在分别用于发送和接收的单独天线。(一个或多个)网络接口158可以被配置为用于向回程网络110或向网络100中的其他用户设备、接入点、接收点、传输点、网络节点、网关或中继(未示出)发送和接收数据。
处理系统150还可以包括一个或多个存储单元170,其可以包括大容量存储单元,例如固态驱动器、硬盘驱动器、磁盘驱动器和/或光盘驱动器。处理系统150可以包括一个或多个存储器172,其可以包括易失性或非易失性存储器(例如,闪存、随机存取存储器(RAM)和/或只读存储器(ROM))。(一个或多个)非暂时性存储器172可以存储指令,所述指令用于由(一个或多个)处理设备152执行例如执行本公开。(一个或多个)存储器172可以包括其他软件指令,例如用于实现操作系统和其他应用程序/功能的软件指令。在一些示例中,一个或多个数据集和/或(一个或多个)模块可以由外部存储器(例如,与处理系统150进行有线或无线通信的外部驱动器)提供,或者可以由暂时性的或非暂时性的计算机可读介质提供。非暂时性计算机可读介质的示例包括RAM、ROM、可擦除可编程的ROM(EPROM)、电可擦除可编程的ROM(EEPROM)、闪存、CD-ROM或其他便携式存储器。
在示例实施例中,处理系统150包括:编码器162,用于将源字编码为码字;以及调制器164,用于将码字调制为符号。如下所述,编码器162对源字执行LDPC编码以生成以比特表示的码字。调制器164对码字执行调制(例如,通过诸如BPSK、QPSK、16QAM或64QAM的调制技术)。在一些示例中,在存储器172中编码的指令可以将处理设备152配置为执行编码器162和/或调制器164的功能,使得编码器162和/或调制器164可以不是处理系统150的不同的物理模块。在一些示例中,编码器162和调制器164可以包含在处理系统150中的发送端模块内。在一些示例中,发送天线160、编码器162和调制器164可以体现为处理系统150外部的发送端组件,并且可以简单地从处理系统150传送源字。
处理系统150可以包括解调器180和解码器190,用于处理接收的信号。解调器180可以对接收的调制信号(例如,BPSK、QPSK、16QAM或64QAM信号)执行解调。然后,解码器190可以对解调信号执行适当的解码,以便恢复包含在接收信号中的原始信号。在一些示例中,在存储器172中编码的指令可以将处理设备152配置为执行解调器180和/或解码器190的功能,使得解调器180和/或解码器190可以不是处理系统150的不同的物理模块。在一些示例中,解调器180和解码器190可以包含在处理系统150中的接收端模块内。在一些示例中,接收天线160、解调器180和解码器190可以体现为处理系统150外部的接收端组件,并且可以简单地将从接收的信号解码出的信号传送给处理系统150。
可以存在提供处理系统150的组件之间的通信的总线192,所述组件包括(一个或多个)处理设备152、(一个或多个)I/O接口154、(一个或多个)网络接口158、编码器162、调制器164、(一个或多个)存储单元170、(一个或多个)存储器172、解调器180和解码器190。总线192可以是任何合适的总线结构,包括例如存储器总线、外围总线或视频总线。
可以通过使用低密度奇偶校验(LDPC)编码技术对待发送的源字进行编码,和/或通过使用LDPC码解码技术对接收的码字进行解码来实现网络100中的STA 102和AP 104之间的通信。在利用LDPC编码技术对源字进行编码之后,在信号中将编码的码字从AP104发送到STA 102或从STA 102发送到AP 104,发送的信号的LDPC编码信息可以包括在发送的帧中。在STA 102或AP 104接收到发送的信号之后,利用接收的信号的LDPC编码信息,STA 102或AP 104然后可以选择适当的LDPC解码技术来对接收的信号进行解码。
发送端和编码器
图2A表示STA 102或AP 104的发送端的示例实施方式。发送端可以包括源字分割模块202、LDPC编码器162、比特到符号映射调制器164和分块模块208。
图2B示出了发送端处理输入信息比特流的示例步骤。
源字分割模块202可用于将输入信息比特流分割成具有适当大小的源字(步骤222)。例如,利用源字分割模块202,在LDPC码字大小为1344比特、LDPC码率为7/8的情况下,输入信息比特流可以被分割为大小为1176比特的源字
然后,LDPC编码器162将K比特的源字编码为N比特的码字(步骤224)。图3表示LDPC编码器162的示例实施方式。在一个实施例中,LDPC编码器162可以包括LDPC矩阵生成器302、生成矩阵模块304、源字输入接口306和码字生成器308。
LDPC矩阵生成器302用于生成LDPC奇偶校验矩阵H,其是二进制(N-K)×N的矩阵,例如N=1344,K=1176。LDPC码在功能上由稀疏奇偶校验矩阵定义。(n,k)LDPC码是具有{0,1}n的k维子空间的线性二进制分块码C。使用高斯消元和列的重新排序可以产生系统形式的等效奇偶校验矩阵H=[P(n-k)×kI(n-k)],其中P(n-k)×k是二进制矩阵,并且I(n-k)是n-k阶的单位矩阵。
基于由LDPC矩阵生成器302生成的LDPC奇偶校验矩阵H,生成矩阵模块304生成生成矩阵G。系统形式的生成矩阵G与H对应,可表示为G=[IkPT],其中“T”表示矩阵转置。生成矩阵G是二进制K×N矩阵。G的行空间与H正交,使得GHT=0。因此,在LDPC编码中,一旦设计了H,G也可以相应地被确定。此外,矩阵H满足其中是N比特的码字。然后,生成矩阵模块304将生成的二进制(K×N)生成矩阵G转发给码字生成器308。
源字输入接口306从源字分割模块202接收源字。如前所述,接收的源字可被视为行向量源字输入接口306将接收的源字转发给码字生成器308。利用源字和二进制(K×N)生成矩阵G,通过将源字与生成矩阵G相乘,码字生成器308生成N比特的码字
参考图2A和2B,编码的码字在比特到符号映射调制器164处被调制为符号(步骤226)。合适的调制技术可以是但不限于BPSK、QPSK、16QAM或64QAM。BPSK、QPSK和16QAM调制在802.11ad标准中予以规定。64QAM调制在802.11ay标准中予以采纳。在BPSK调制中,二进制比特被简单地映射为双极性{-1,1}符号。在QPSK、16QAM和64QAM调制中,将输入编码比特流(以比特表示的码字)分别分组为2比特、4比特和6比特的组。每个比特组被映射到相应星座上的符号。例如,对于BPSK、QPSK、16QAM和64QAM,符号分别表示1比特、2比特、4比特和6比特。可以将多个符号分组为调制的码字。例如,802.11ad标准的大小为672的码的调制码字可以包括336个符号(用于802.11ad标准中的单载波(single carrier,SC)QPSK分块)、168个符号(用于802.11ad标准中的SC 16QAM分块)、112个符号(用于802.11ad标准中的SC64QAM分块)。
可以在分块模块208中将调制的码字进一步组合成具有适当大小的数据块(BLK)(步骤228)。在一个实施例中,组合的数据块可以包含448个符号。
图4A示出了可用于封装组合的各数据块(BLKS)的示例单载波(SC)数据单元或帧结构。在IEEE 802.11ad标准中予以规定的图示的帧包括短训练字段(short trainingfield,STF)、信道估计(channel estimation,CE)字段、PHY头、SC数据块(BLK)和用于波束成形训练的可选的自动增益控制(automatic gain control,AGC)子字段和TRN-R/T子字段。所述帧可包括多个BLK,如图4A所示。
图4B示出了根据802.11ad标准的SC数据块(BLK)的示例结构。在图4B中,每个BLK由448个符号组成。在每两个相邻BLK之间使用64比特的保护间隔(guard interval,GI)来分离相邻数据块。
802.11ad中码长为672的LDPC码
本公开中呈现的高码率的长LDPC码的实施例建立在IEEE 802.11ad标准中规定的LDPC码上,因此现在将对IEEE 802.11ad标准的LDPC码进行简要描述以便于理解以下详细描述的实施例。由于LDPC编码的码字是通过源字和生成矩阵G的运算生成的,且生成矩阵G是从LDPC奇偶校验矩阵H导出的,所以LDPC奇偶校验矩阵H实现了源字到码字的编码。LDPC奇偶校验矩阵H的设计可以改善编码的性能。奇偶校验矩阵H可以进一步被划分为大小为Z×Z的方块子矩阵。Z是提升因子。子矩阵为Z×Z单位矩阵P0的循环置换,或者元全为零的零子矩阵。
图5A-5D示出了802.11ad中规定的码率为1/2、5/8、3/4和13/16的四种LDPC码的奇偶校验矩阵H。在802.11ad中,每个LDPC码具有672比特的公共码长。码率K/N表示K比特的源字被编码为N比特的码字关于802.11ad标准,码长N为672比特。因此,对于1/2、5/8、3/4和13/16的码率,相应源字的大小K分别为336比特、420比特、504比特和546比特。
矩阵H中的每个非空白元胞元素(cell element)中的索引值i表示通过将矩阵P0的列向右循环移位i列,从Z×Z单位矩阵P0得到的循环置换子矩阵Pi。空白元指示全零的Z×Z矩阵。
图5E示出了从示例Z×Z单位矩阵P0得到的循环置换子矩阵P1和P3的示例,其中Z=4。将P0的列向右移位一个元素,得到P1,并将P0的列向右移位三个元素,得到P3。如图5E所示,单位矩阵P0包括沿矩阵对角排列的Z个“1”,其他所有值均为“0”。
图5A中,索引值i=“0”的矩阵元胞位置表示子矩阵P0,其是42×42单位子矩阵,图5A中索引值i=“40”的左上元胞位置表示将P0的列向右移动40个元素后得到的子矩阵。类似地,图5B至图5D中的任何非零值i的子矩阵Pi也可以从相应的单位矩阵P0得到。
图5A示出了码率为1/2的LDPC奇偶校验矩阵H=336行×672列,其中Z=42。图5B示出了码率为5/8的LDPC奇偶校验矩阵H=252行×672列,其中Z=42。图5C示出了码率为3/4的LDPC奇偶校验矩阵H=168行×672列,其中Z=42。图5D示出了码率为13/16的LDPC奇偶校验矩阵H=126行×672列,其中Z=42。在图5A至图5D中,空白元表示元全为零的Z×Z子矩阵。
拟用于802.11ay的具有长码长1344的低码率的LDPC码
图6A至图6D示出了[参考文件1]中针对802.11ay拟议的码率为13/16、3/4、5/8和1/2的四个低码率LDPC码。如上所述,码率K/N表示K比特的源字u被编码为N比特的码字c。在码长N=1344比特的情况下,13/16、3/4、5/8和1/2的码率分别对应1092、1008、840和672比特的源字字长。
图6A至图6D中所示的长LDPC码是通过两步提升过程产生的。在图6A的示例中,通过将提升矩阵602应用于基矩阵604来生成码长为1344的码率为13/16(1344,1092)的LDPC码606。基矩阵604是IEEE 802.11ad规定的码率为13/16、长度为672的分割的LDPC矩阵。具有3行16列子矩阵、码率为13/16的基矩阵604对应于将Z=42的提升因子应用于由“1”和“0”组成的起始126行×672列矩阵。因此,通过提升因子Z=42的第一次提升提供码率为13/16的基矩阵604,然后通过应用提升矩阵602的第二次提升以产生码率为13/16的LDPC码606。
如图6A所示,提升矩阵602具有与802.11ad的码率为13/16的矩阵604相同的行数和列数(3×16)。提升矩阵602中的每个元胞元素被分配“1”、“0”和“-1”三个可能值中的一个。如果基矩阵604的子矩阵为零(即元全部为零),将所述子矩阵表示为“-1”,则提升矩阵602中的对应元也表示为“-1”。例如,提升矩阵602的第1行第16列的元与基矩阵604的第1行第16列的子矩阵对应。提升矩阵602的元和基矩阵604的子矩阵均具有值“-1”。
为了生成码长为1344的13/16LDPC码606,将提升矩阵602应用于码长为672的13/16LDPC基矩阵604。具体地,对于基矩阵604的具有值为“V”的子矩阵,如果对应的提升矩阵602的元具有值“1”,则将提升矩阵602应用于基矩阵604,生成如下4个子矩阵:
-1 | V |
V | -1 |
对于基矩阵604的具有值为“V”的子矩阵,如果对应的提升矩阵602的元具有值“0”,则将提升矩阵602应用于基矩阵604,生成如下4个子矩阵:
V | -1 |
-1 | V |
图6A中,在基矩阵604的第1行第1列处的、具有值“29”的子矩阵的示例中,提升矩阵602的第1行第1列处对应的元具有值“1”,则将提升矩阵602的所述元应用于基矩阵604的对应子矩阵,产生如下4个子矩阵:
-1 | 29 |
29 | -1 |
同样,在基矩阵604的第3行第9列处的、具有值“4”的子矩阵的示例中,提升矩阵602的第3行第9列处对应的元具有值“0”,则将提升矩阵602的所述元应用于基矩阵604的对应子矩阵,产生如下4个子矩阵:
4 | -1 |
-1 | 4 |
对于基矩阵604中具有值“-1”的子矩阵,提升矩阵602的对应元也具有值“-1”。将提升矩阵602中具有值“-1”的一个元应用于基矩阵604中对应的子矩阵,生成四个全零子矩阵。
类似地,如图6B至图6D所示,利用相应的提升矩阵602,可以将以上描述的用于获得码长为1344、码率为13/16的LDPC码606的相同规则应用于IEEE 802.11ad中规定的码长为672、码率为3/4、5/8和1/2的基矩阵604,以产生相应的码率为3/4、5/8和1/2的LDPC码,每个LDPC码的码长均为1344。
高码率LDPC码
IEEE 802.11ad标准规定了具有7/8高码率的LDPC码(参考文件2)。类似地,如上所述[参考文件1]已经提出了一种码率为7/8、码长为1248的LDPC码。码率为7/8、码长为1248的LDPC码[参考文件1]是通过对由图6A中所示的矩阵606表示的、码率为13/16(1344,1092)的LDPC码的前96个奇偶校验位打孔而生成的,如上所述,所述矩阵606是从802.11ad中规定的码率为13/16、码长为672的基LDPC码导出的。在实施方式中,发送端不发送打孔的比特,并且接收端对打孔的比特放置1/0的概率相等。因此,图6A的通过打孔产生的提出的码率为7/8的LDPC码将导致码长为1248,而非针对长码较低码率的LDPC码而提出的码长1344。
如以上关于图4A、图4B的所述,在传输之前,LDPC码字要经历从比特到符号的映射,随后被分块为具有定义数量的符号(例如448个符号或896个符号)的块(BLK)。因此,对于不同的码率使用不同的码长可导致以下环境中的分块效率低:其中具有定义的块长度的数据帧结构旨在支持不同的码率。特别地,将调制的码字组合成数据块的分块过程可能需要额外的过程来实现对码率为7/8、使用不同于其他码率的LDPC码的码长的编码和解码。在对13/16码率的码打孔而得到的码率为7/8、码长为1248的LDPC码的情况下,打孔增加了冗余(编码和SC分块期间的填充零)并且增加了SC分块的复杂性。
例如,图7A显示,左侧为对于使用码长1344(N=1344,K=1176)的码率为7/8的LDPC码进行SC QPSK分块的示例,右侧为用于码率为7/8、使用了1248的打孔码长(N=1248,K=1092)的LDPC码的SC QPSK分块的示例。图7A的示例使用了QPSK调制来进行从比特到符号的映射。利用(N=1344,K=1176)QPSK,调制之后1344比特的码字变为672个符号的码字。每三个SC数据块(BLK1、BLK2、BLK3)(其中每个包含448个符号)由2个符号码字构成(每个块由1或2个码字构成)。相比之下,利用(N=1248,K=1092)QPSK,调制之后1248比特的码字变为624个符号的码字。结果,分块过程变得更加复杂:每39个数据块由28个码字构成,每个数据块由一个或两个码字构成。
图7B显示了相比于(1248,1092)的LDPC(右侧),对(1344,1176)的LDPC(左侧)进行SC 16QAM分块的示例。对于(1344,1176)的LDPC,利用16QAM,调制之后一个1344比特的码字变为一个336个符号的码字。每三个SC数据块由四个336个符号的码字构成,每个448个符号的数据块由两个符号码字构成。然而,对于(1248,1092)的LDPC,每个编码的码字包含1248比特,其在16QAM调制之后变为312个符号的码字。结果,分块过程变得更加复杂:每39个数据块由56个码字构成。
类似地,图7C示出了相比于(1248,1092)的LDPC(右侧),对(1344,1176)的LDPC(左侧)进行SC 64QAM分块的示例。对于(1344,1176)的LDPC,利用64QAM,调制之后一个1344比特的码字变为一个224个符号的码字。每个448个符号的数据块由两个224个符号的码字构成。然而,对于(1248,1092)的LDPC,调制之后一个1248比特的码字变为一个208个符号的码字。结果,分块过程变得更加复杂:每13个数据块由28个码字构成,并且每个数据块由3或4个码字构成。
[参考文件2]提出了用于短码长N=672的7/8高码率的LDPC码。参考图8,[参考文件2]中码率为7/8、码长为672的LDPC矩阵Hn 860是对802.11ad规定的码率为3/4、码长为672(672,504)的LDPC矩阵H 850的行进行求和得到的。如上所述,802.11ad的码率为3/4、码长为672的LDPC矩阵850是通过使用提升因子Z=42,将168行(N-K=168)、672列(N=672)的原始二进制矩阵划分得到的,产生可以表示为4行(R=(N-K/42))16列(C=N/42)的、码率为3/4、码长为672的LDPC基矩阵H 850,每个子矩阵Pi由索引值i表示成数组元素,所述索引值i表示应用于单位矩阵(或“空白”或用“-”表示的全零子矩阵)的循环移位值。将码率为3/4码长为672的基LDPC矩阵H 850中选定的行相加,产生码率为7/8码长为672的LDPC矩阵Hn860。特别地,将基码矩阵H 850的第一行R1和第三行R3的子矩阵相加,产生新的LDPC矩阵Hn860的第一行中的相应列元的子矩阵,并且使用模2加法将基码矩阵H 850的第二行R2和第四行R4的子矩阵相加,产生新的LDPC矩阵Hn 860的第二行中的相应列元的子矩阵。出于说明性的目的,图9示出了Z=4的简化情况下使用模2加法的循环置换矩阵的加法运算。
长度N=1344、7/8高码率的长LDPC码
现在将对尤其涉及与规定的较低码率的码码长一致(即N=1344)的高码率的长LDPC码的示例实施例进行描述。
图10表示根据一个示例实施例的用于生成码长为N=1344、码率为7/8的LDPC矩阵H1 1020的方法。在图10的示例中,将802.11ad规定的码率为3/4码长为672(672,504)的LDPC矩阵H 850用作基矩阵,但是提升因子从Z=42增加到Z=84,以生成码率为3/4码长为1344的LDPC矩阵Hint 1010作为中间矩阵。特别地,为了构造码字大小为672×2=1344的3/4码率LDPC矩阵Hint 1010,基矩阵850的结构以及列位置的移位皆保持相同,但是提升因子从Z=42增加到Z=84。例如,802.11ad的码长为672的二进制3/4基矩阵850包含168行×672列,Z=42。如图10所示,划分的3/4基矩阵850包含4行×16列子矩阵,每个子矩阵的大小为Z×Z(42×42)。当提升因子Z从42增加到84时,中间的、划分的3/4码长为1344的LDPC矩阵Hint1010包括4行×16列的子矩阵,表示336行×1344列的二进制矩阵。
在示例实施例中,将中间的码率为3/4、码长为1344的LDPC矩阵Hint中选定的行相加,生成码长为N=1344、码率为7/8的LDPC矩阵H1 1020。特别地,使用模2加法对中间LDPC矩阵Hint 1010的第一行R1和第三行R3的子矩阵求和,产生新的LDPC矩阵H11020的第一行中的对应列元的子矩阵,并使用模2加法对中间LDPC矩阵Hint 1010的第二行R2和第四行R4的子矩阵求和,产生新的LDPC矩阵H1 1020中第二行的对应列元的子矩阵。
图11表示根据一个示例实施例的用于生成码长N=1344的码率7/8的LDPC矩阵H11130的方法的又一示例实施例。在图11的示例中,再次将802.11ad规定的码率为3/4码长为672(672,504)的LDPC矩阵H 850用作基矩阵,然而,使用的是提升矩阵1110来生成中间矩阵Hint 1120,而非如前一示例中讨论的使用扩大的提升因子。提升矩阵1110是通过以产生优化的错误率性能为标准的优化搜索选择的。在所示实施例中,选择提升矩阵1110,使其第一行和第三行互补、第二行和第四行互补。
将提升矩阵1110应用于802.11ad规定的码率为3/4码长为672(672,504)的LDPC矩阵H 850,以与上文关于图6A至图6D所述的相同的方式生成中间矩阵Hint 1120。得到的中间矩阵Hint 1120包括8行32列的子矩阵元素,每个子矩阵元素用索引值i表示,所述索引值i指示应用于Z×Z(Z=42)单位矩阵P0的循环移位值,或者为指示全“0”的子矩阵的零值。因此,划分的中间矩阵Hint 1120表示336行乘1344列的二进制矩阵。
如图11所示,将中间矩阵Hint 1120的周期性行相加,生成码长N=1344码率7/8的LDPC矩阵H1 1130。特别地,使用模2加法对中间矩阵Hint 1120的第一行R1和第五行R5的子矩阵求和,产生新的LDPC矩阵H1 1130第一行中的对应列元的子矩阵。类似地,将中间矩阵Hint 1120的第二行和第六行相加,得到新的LDPC矩阵H1 1130的第二行;将中间矩阵Hint1120的第三行和第七行相加,得到新的LDPC矩阵H1 1130的第三行;将中间矩阵Hint 1120的第四行和第八行相加,得到新的LDPC矩阵H1 1130的第四行。如图11所示,划分的LDPC矩阵H11130包括4行32列子矩阵元素,每个子矩阵元素表示Z=42的Z×Z子矩阵,使得二进制矩阵H1的大小为168行乘1344列。
应当理解,图11的示例依赖于提升步骤和求和步骤的结合来生成矩阵H1 1130。
至少在一些示例中,可以使用不同的优化的提升矩阵来代替图11中所示的提升矩阵1110,就此而言,图12示出了又一优化的提升矩阵1210的示例,在一些示例中可以用其代替提升矩阵1110。
图13表示根据另一示例实施例的用于生成码长N=1344的码率7/8的LDPC矩阵H11320的方法的又一示例实施例。在图13的示例中,再次将802.11ad规定的码率为3/4码长为672(672,504)的LDPC矩阵H 850用作基矩阵,并特别地,将其用于以与上文关于图8所述的相同的方式生成码率为7/8码长为672的LPDC矩阵Hn 860作为中间矩阵。使用上文所述的相同的提升矩阵技术,将2行乘16列的优化的提升矩阵1310应用于码率为7/8码长为672的LPDC矩阵Hn 860,得到码率为7/8码长为1344的LDPC矩阵H1 1320。如图13所示,划分的LDPC矩阵H1 1320包括8行32列子矩阵元素,每个子矩阵元素表示Z=42的Z×Z子矩阵,使得二进制矩阵H1 1320的大小为336行乘1344列。
在示例实施例中,优化的提升矩阵是通过执行对提供优化的错误率性能的提升矩阵的优化搜索来选择的。如果是优化的提升矩阵1310的情况,在一些示例实施例中,在LDPC编码器处的编码与从比特到符号的调制器206处的调制之间包括随机交织器。
至少在一些示例中,可以使用不同的优化的提升矩阵来代替图13中所示的提升矩阵1310,就此而言,图14示出了又一优化的提升矩阵1410的示例,在一些示例中可以用其代替提升矩阵1310。如果是优化的提升矩阵1410的情况,在一些示例实施例中,在LDPC编码器处的编码和从比特到符号的调制器206处的调制之间包括常规的行列交织器。
至少在一些配置中,码率为7/8码长为1344的LDPC矩阵H1的实施例提供了一种LDPC结构,可以提供一个或多个以下特征:向后兼容11ad;与11ad共存;提供码率为7/8的、码长为1344(保持与拟议的IEEE 802.11ay的不同码率的其他LPDC码的码长一致)的LDPC码;减少编码和单载波分块的冗余(填充零);优化新的码率为7/8的LDPC码,使其具有与穿孔解决方案相当或比之更好的性能。
解码和解码方法
LDPC编码信号可以在STA 102或AP 104的接收端处进行接收。如图15A的示例中所示,接收端包括均衡和解分块模块1502、解调器180、LLR计算器1506和LDPC解码器190。可选地,LLR计算器1506可以是解调器180的组件。如图15B所示,利用接收的LDPC编码信号,均衡和解分块模块1502首先对接收的信号1501进行均衡,以减少由发送接收的信号的信道引起的码间干扰,然后对均衡的信号进行解分块,以恢复码字符号(步骤1522)。解调器180通过例如BPSK、QPSK、16QAM或64QAM将解分块的码字符号解调为若干比特的码字(步骤1524)。LLR计算器180可用于生成解分块的码字符号的比特值的对数似然比(步骤1526)。所述对数似然比可以用作LDPC解码器190的输入。然后,LDPC解码器190可以使用在对源字编码中使用的LDPC矩阵Hn对解调的信号进行解码,所述信号具有1×N行向量S(步骤1528)。LDPC解码器190生成1×N行向量以恢复1×K源字行向量要成为有效的码字可使用各种算法对LDPC编码信号进行解码,例如,消息传递算法。图16是使用消息传递算法对LDPC编码的源字进行解码的示例LDPC解码器。也可以使用其他解码算法来实现所述LDPC解码。在使用消息传递算法的情况下,LDPC解码器190可以包括控制器1602、校验节点模块1604和变量节点模块1606。
如上所述,发送的信号的LDPC编码信息,例如用来对源字进行编码的K/N码率的LPDC码Hn=(NK)×N的LDPC矩阵的信息,可以包括在发送的帧中。在本申请的一个实施例中,在LDPC解码器190处,可以使用K/N码率的LPDC码Hn=(NK)×N,其提升因子为Z。如编码过程中所述,Hn包括多个子矩阵,每个子矩阵的大小为Z×Z。生成奇偶校验矩阵的方法已在编码过程中进行了描述。
可以使用矩阵H1对若干比特的码字进行解码,例如,使用利用LLR值的消息传递算法(message passing algorithm,MPA)。如图17的示例中所示,利用MPA的LDPC解码是一种使用了Tanner图的结构的迭代解码算法,Tanner图是LPDC奇偶校验矩阵H1的图形表示。在LDPC解码器190中,每个校验节点1702基于LLR值确定擦除的比特的值(如果所述擦除的比特是其奇偶校验方程中仅有的擦除的比特)。消息沿Tanner图边缘1706进行传递。对于算法的每次迭代,每个变量节点1704向变量节点1704所连接的每个校验节点1702发送消息(“外部信息”)。每个校验节点1702将消息(“外部信息”)发送到校验节点1702所连接的变量节点1704。“外部”在该上下文中意味着所述校验节点1702或变量节点1704已经拥有的信息不再被传递到该节点。基于LLR计算器1506处的接收的信号和H1中定义的奇偶校验约束,计算每个码字比特的后验概率,即,要成为有效的码字则
在LDPC解码器190的分层架构中,Z个并行校验节点处理器顺序地处理关于奇偶校验矩阵的Z行的子矩阵的边缘的消息。在一个示例中,Z=42并且边缘是16。循环移位结构简化了解码器架构,其允许向并行处理器提供简单的桶形移位器。当一层的处理终止时,奇偶校验处理器被重新初始化,并且下一层被处理。
本公开提供了用于实现所公开的方法和系统的示例的某些示例算法和计算。然而,本公开不受任何特定算法或计算的约束。尽管本公开以特定顺序的步骤描述了方法和过程,但是可以适当地省略或改变所述方法和过程的一个或多个步骤。在适当的情况下,一个或多个步骤可以以不同于其被描述的顺序发生。
通过前述实施例的描述,本发明可以仅通过使用硬件,或通过使用软件和必要的通用硬件平台,或通过硬件和软件的组合来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现。软件产品可以存储在非易失性或非暂时性存储介质中,所述存储介质可以是压缩盘只读存储器(CD-ROM)、USB闪存驱动器或硬盘。所述软件产品包括若干指令,所述指令使计算机设备(个人计算机、服务器或网络设备)能够执行本发明实施例中提供的方法。
尽管已经详细描述了本发明及其优点,但是应该理解,在不脱离由所附权利要求限定的本发明的情况下,可以作出各种改变、替换和更改。
此外,本申请的范围不旨在局限于说明书中描述的过程、机器、制造、物质组成、工具、方法和步骤的特定实施例。本领域普通技术人员从本发明的公开内容将容易理解,现有或以后开发的如本文所述的相应实施例的执行基本相同的功能或者实现基本相同的结果的过程、机器、制造、物质组成、工具、方法或步骤可以根据本发明加以使用。因此,所附权利要求旨在在其范围内包括这样的过程、机器、制造、物质组成、工具、方法或步骤。
Claims (26)
1.一种对源字进行编码的方法,包括:
G是从奇偶校验矩阵HI导出的K×N生成矩阵;以及
其中,HI是通过将优化的提升矩阵应用于基奇偶校验矩阵H导出的,所述优化的提升矩阵是:
或者:
。
2.根据权利要求1所述的方法,其中,将优化的提升矩阵应用于基奇偶校验矩阵H导出HI,包括:
1)将所述优化的提升矩阵应用于基奇偶校验矩阵H,得到中间奇偶校验矩阵Hint;
2)将中间矩阵Hint1120的不同行相加,得到HI。
3.根据权利要求2所述的方法,所述1)包括:
将4行乘16列优化的二进制提升矩阵应用于划分的4行乘16列的矩阵以得到具有8行32列的42比特乘42比特子矩阵的所述中间奇偶校验矩阵Hint,所述42比特乘42比特子矩阵中的每个为所述42比特乘42比特二进制单位矩阵的循环置换或包含全零值。
4.根据权利要求2所述的方法,所述2)包括:
对所述中间奇偶校验矩阵的第一行和第五行求和以得到HI的第一行;将所述中间奇偶校验矩阵的第二行和第六行相加以得到HI的第二行;将所述中间奇偶校验矩阵的第三行和第七行相加以得到HI的第三行;对所述中间奇偶校验矩阵的第四行和第八行求和以得到HI的第四行。
5.根据权利要求2至4中任一项所述的方法,所述基奇偶校验矩阵H是802.11ad规定的码率为3/4、码长为672的LDPC矩阵H。
6.根据权利要求1至4中任一项所述的方法,其中HI是:
。
7.根据权利要求2所述的方法,其中对所述中间奇偶校验矩阵的第1行和第3行求和。
8.根据权利要求2或7所述的方法,其中对所述中间奇偶校验矩阵的第2行和第4 行求和。
9.根据权利要求2或7所述的方法,其中所述提升矩阵由空白行列元和非空白行列元组成,并且对应于所述中间奇偶校验矩阵中求和的子矩阵的两非空白元的对互补。
11.根据权利要求1至4、7和10中任一项所述的方法,其中,所述基奇偶校验矩阵H是802.11ad中针对码率为3/4、码长为672的码字而规定的LDPC矩阵。
12.一种用于对源字进行编码的方法,包括:
G是从奇偶校验矩阵HI导出的K×N生成矩阵;以及
其中HI从基奇偶校验矩阵H导出,所述基奇偶校验矩阵H被设计为支持码字向量大小与字向量大小的比值小于K/N的码字生成,以及
其中G=[IkPT],其中P(n-k)×k是二进制矩阵,并且I(n-k)是n-k阶的单位矩阵,其中“T”表示矩阵转置;以及,其中所述奇偶校验矩阵Hl=[P(n-k)×kI(n-k)];以及,其中,HI是通过以下导出的:增大应用于所述基奇偶校验矩阵H的提升因子以得到扩展的基奇偶校验矩阵,并对所述扩展的基奇偶校验矩阵中的不同行求和以得到HI;
将提升矩阵应用于所述基奇偶校验矩阵H以得到中间奇偶校验矩阵,所述提升矩阵为:
或者
。
13.根据权利要求12所述的方法,其中,HI是通过以下从所述基奇偶校验矩阵H导出的:对基奇偶校验矩阵H中的不同行求和以得到中间奇偶校验矩阵,再将所述提升矩阵应用于所述中间奇偶校验矩阵以得到HI。
14.根据权利要求12或13所述的方法,其中,所述基奇偶校验矩阵H是码率为3/4的低密度奇偶校验LDPC矩阵,其被设计为支持从大小为504比特的输入源字向量到大小为672比特的输出码字向量的码字生成,其中所述基奇偶校验矩阵H可以被划分为4行乘16列的矩阵:
其中每个划分的矩阵元素表示相应的42比特乘42比特子矩阵,其中每个42比特乘42比特子矩阵是42比特乘42比特二进制单位矩阵的循环置换,或者包含全零值,对应于所述二进制单位矩阵的循环置换的所述元素用整数索引值指示,所述整数索引值指示为得到对应于所述元素的子矩阵而应用于所述二进制单位矩阵的循环移位,对应于包含全零值的子矩阵的所述元素用空白元素指示。
15.根据权利要求12或13所述的方法,其中N=1344并且K/N的比率为7/8。
16.根据权利要求12所述的方法,其中N=1344并且K/N的比率是7/8,并且:
增大应用于所述基奇偶校验矩阵H的所述提升因子以得到所述扩展的基奇偶校验矩阵,包括:将42比特乘42比特二进制单位矩阵的大小增加到84比特乘84比特的二进制单位矩阵,并确定由84比特乘84比特子矩阵构成的、且对应于所述基奇偶校验矩阵H的扩展的4行乘16列矩阵,以及
对所述扩展的基奇偶校验矩阵中的不同行求和以得到HI,包括:使用模2加法对所述扩展的基奇偶校验矩阵的第一行和第三行的子矩阵求和以产生HI第一行中的相应列元的子矩阵,并使用模2加法对所述扩展的基奇偶校验矩阵的第二行和第四行的子矩阵求和以产生HI的第二行中的相应列元的子矩阵。
17.根据权利要求12所述的方法,其中N=1344并且K/N的比率是7/8,并且其中:
将所述提升矩阵应用于所述基奇偶校验矩阵H以得到中间奇偶校验矩阵,包括:将4行乘16列优化的二进制提升矩阵应用于划分的4行乘16列的矩阵以得到具有8行32列的42比特乘42比特子矩阵的所述中间奇偶校验矩阵,所述42比特乘42比特子矩阵中的每个为所述42比特乘42比特二进制单位矩阵的循环置换或包含全零值;以及
对所述中间奇偶校验矩阵中的不同行求和以得到HI,包括:对所述中间奇偶校验矩阵的第一行和第五行求和以得到HI的第一行;将所述中间奇偶校验矩阵的第二行和第六行相加以得到HI的第二行;将所述中间奇偶校验矩阵的第三行和第七行相加以得到HI的第三行;对所述中间奇偶校验矩阵的第四行和第八行求和以得到HI的第四行。
18.根据权利要求17所述的方法,其中HI由以下表示:
。
19.根据权利要求14所述的方法,其中N=1344并且K/N的比率是7/8,并且其中:
对所述基奇偶校验矩阵H中的不同行求和以得到所述中间奇偶校验矩阵,包括:对所述划分的基奇偶校验矩阵的第一行和第三行求和,并对划分的基奇偶校验矩阵的第二行和第四行求和,以得到所述中间奇偶校验矩阵,所述中间奇偶校验矩阵具有两行且被表示为:
其中,将所述提升矩阵应用于所述中间奇偶校验矩阵以得到HI,包括:将2行乘16列优化的二进制提升矩阵应用于所述划分的2行乘16列中间奇偶校验矩阵以得到具有4行32列42比特乘42比特子矩阵的HI,其中每个子矩阵为42比特×42比特二进制单位矩阵的循环置换或包含全零值。
20.根据权利要求19所述的方法,其中所述提升矩阵由以下表示:
。
21.根据权利要求19所述的方法,其中所述提升矩阵由以下表示:
。
22.根据权利要求12或13所述的方法,其中HI由以下表示:
。
23.一种系统,包括:
处理器,所述处理器被配置为使所述系统执行权利要求1至22中任一项所述的方法。
24.一种LDPC编码器,包括:
LDPC矩阵生成器,所述LDPC矩阵生成器生成基奇偶校验矩阵H;以及
生成矩阵模块,所述生成矩阵模块生成矩阵G;
其中,G是从奇偶校验矩阵HI导出的K×N生成矩阵;以及
其中,HI是通过将优化的提升矩阵应用于基奇偶校验矩阵H导出的,所述优化的提升矩阵是:
或者:
。
25.一种对LDPC编码信号进行解码的方法,包括:
接收使用权利要求1所述的方法进行编码的LDPC编码信号;
对所述接收的信号进行均衡;
对所述均衡的信号进行解分块,以恢复码字符号;
将所述解分块的码字符号解调为若干比特的码字;
生成所述解分块的码字符号的比特值的对数似然比;
使用在对源字编码中使用的中间矩阵对解调的信号进行解码。
26.一种LDPC解码器,包括:
均衡和解分块模块,所述均衡和解分块模块被配置为接收使用权利要求1所述的方法进行编码的LDPC编码信号,对所述接收的信号进行均衡,并且对所述均衡的信号进行解分块,以恢复码字符号;
解调器,所述解调器被配置为将所述解分块的码字符号解调为若干比特的码字;
LLR计算器,所述LLR计算器被配置为生成所述解分块的码字符号的比特值的对数似然比;
LDPC解码器,所述LDPC解码器被配置为使用在对源字编码中使用的中间矩阵对解调的信号进行解码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110788274.1A CN113676188A (zh) | 2017-03-03 | 2017-03-03 | 高码率的长ldpc码 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/075616 WO2018157390A1 (en) | 2017-03-03 | 2017-03-03 | High-rate long ldpc codes |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110788274.1A Division CN113676188A (zh) | 2017-03-03 | 2017-03-03 | 高码率的长ldpc码 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110249536A CN110249536A (zh) | 2019-09-17 |
CN110249536B true CN110249536B (zh) | 2021-07-20 |
Family
ID=63369733
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780085577.9A Active CN110249536B (zh) | 2017-03-03 | 2017-03-03 | 高码率的长ldpc码 |
CN202110788274.1A Pending CN113676188A (zh) | 2017-03-03 | 2017-03-03 | 高码率的长ldpc码 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110788274.1A Pending CN113676188A (zh) | 2017-03-03 | 2017-03-03 | 高码率的长ldpc码 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11082061B2 (zh) |
EP (2) | EP3571770B1 (zh) |
JP (1) | JP6873262B2 (zh) |
KR (1) | KR102262186B1 (zh) |
CN (2) | CN110249536B (zh) |
RU (1) | RU2733826C1 (zh) |
WO (1) | WO2018157390A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110583023B (zh) * | 2017-05-04 | 2022-03-01 | 三星电子株式会社 | 在通信或广播系统中用于信道编码和解码的方法和设备 |
EP4187794A1 (en) | 2017-06-15 | 2023-05-31 | Huawei Technologies Co., Ltd. | Qc-ldpc codes for 3gpp 5g mobile radio |
CN109150197B (zh) | 2017-06-27 | 2024-05-14 | 华为技术有限公司 | 信息处理的方法、装置和通信设备 |
CN109150196B (zh) * | 2017-06-27 | 2024-06-18 | 华为技术有限公司 | 信息处理的方法、装置和通信设备 |
CN109639392B (zh) * | 2018-11-09 | 2020-03-27 | 清华大学 | 广播信道传输的空间耦合ldpc码的构造方法及系统 |
CN113078911A (zh) | 2020-01-03 | 2021-07-06 | 华为技术有限公司 | Ldpc码的编码的方法和通信装置 |
CN114915297A (zh) * | 2021-02-09 | 2022-08-16 | 华为技术有限公司 | 一种编码和译码方法及相关装置 |
CN116964968A (zh) * | 2021-03-18 | 2023-10-27 | 高通股份有限公司 | 用于低密度奇偶校验编码的位替换 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101951264A (zh) * | 2010-08-31 | 2011-01-19 | 宁波大学 | 一种多码率准循环低密度奇偶校验码解码器 |
CN102412842A (zh) * | 2010-09-25 | 2012-04-11 | 中兴通讯股份有限公司 | 一种低密度奇偶校验码的编码方法及装置 |
CN104106230A (zh) * | 2011-07-06 | 2014-10-15 | 北京新岸线移动多媒体技术有限公司 | 一种用于数据传输的方法及装置 |
EP2833553A1 (en) * | 2013-07-30 | 2015-02-04 | Alcatel Lucent | LDPC encoder and decoder |
US9160369B1 (en) * | 2013-03-01 | 2015-10-13 | Proton Digital Systems, Inc. | Method for iterative error correction with designed error floor performance |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050283707A1 (en) * | 2004-06-22 | 2005-12-22 | Eran Sharon | LDPC decoder for decoding a low-density parity check (LDPC) codewords |
US7346832B2 (en) * | 2004-07-21 | 2008-03-18 | Qualcomm Incorporated | LDPC encoding methods and apparatus |
US7996746B2 (en) | 2004-10-12 | 2011-08-09 | Nortel Networks Limited | Structured low-density parity-check (LDPC) code |
EP1850485A1 (en) * | 2006-04-28 | 2007-10-31 | Nokia Siemens Networks Gmbh & Co. Kg | Method for encoding a data message K' for transmission from a sending station to a receiving station as well as method for decoding, sending station, receiving station and software |
RU2443053C2 (ru) * | 2007-01-24 | 2012-02-20 | Квэлкомм Инкорпорейтед | Кодирование и декодирование ldpc пакетов переменных размеров |
KR101370903B1 (ko) * | 2007-03-16 | 2014-03-10 | 엘지전자 주식회사 | Ldpc 코드를 이용한 부호화 및 복호화 방법 |
US8392814B2 (en) | 2008-10-07 | 2013-03-05 | Qualcomm Incorporated | Method and apparatus for high speed structured multi rate low density parity check codes |
US9634693B2 (en) * | 2010-08-12 | 2017-04-25 | Samsung Electronics Co., Ltd | Apparatus and method for decoding LDPC codes in a communications system |
US8910025B2 (en) * | 2011-10-03 | 2014-12-09 | Samsung Electronics Co., Ltd. | Method and apparatus of QC-LDPC convolutional coding and low-power high throughput QC-LDPC convolutional encoder and decoder |
US8832520B2 (en) * | 2011-11-29 | 2014-09-09 | California Institute Of Technology | High order modulation protograph codes |
US9100052B2 (en) * | 2013-02-01 | 2015-08-04 | Samsung Electronics Co., Ltd. | QC-LDPC convolutional codes enabling low power trellis-based decoders |
US9306601B2 (en) * | 2013-02-13 | 2016-04-05 | Qualcomm Incorporated | LDPC design for high parallelism, low error floor, and simple encoding |
US20160380722A1 (en) * | 2015-06-25 | 2016-12-29 | Mohamed K. Hassanin | Access point (ap), user station (sta) and methods for variable length encoding and for iterative decoding |
US10523364B2 (en) * | 2015-11-06 | 2019-12-31 | Samsung Electronics Co., Ltd. | Channel coding framework for 802.11AY and larger block-length LDPC codes for 11AY with 2-step lifting matrices and in-place property |
-
2017
- 2017-03-03 CN CN201780085577.9A patent/CN110249536B/zh active Active
- 2017-03-03 CN CN202110788274.1A patent/CN113676188A/zh active Pending
- 2017-03-03 EP EP17898911.7A patent/EP3571770B1/en active Active
- 2017-03-03 KR KR1020197026181A patent/KR102262186B1/ko active IP Right Grant
- 2017-03-03 WO PCT/CN2017/075616 patent/WO2018157390A1/en unknown
- 2017-03-03 JP JP2019547711A patent/JP6873262B2/ja active Active
- 2017-03-03 RU RU2019130900A patent/RU2733826C1/ru active
- 2017-03-03 EP EP24154404.8A patent/EP4373019A3/en active Pending
-
2019
- 2019-09-03 US US16/559,027 patent/US11082061B2/en active Active
-
2021
- 2021-07-30 US US17/390,367 patent/US11671115B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101951264A (zh) * | 2010-08-31 | 2011-01-19 | 宁波大学 | 一种多码率准循环低密度奇偶校验码解码器 |
CN102412842A (zh) * | 2010-09-25 | 2012-04-11 | 中兴通讯股份有限公司 | 一种低密度奇偶校验码的编码方法及装置 |
CN104106230A (zh) * | 2011-07-06 | 2014-10-15 | 北京新岸线移动多媒体技术有限公司 | 一种用于数据传输的方法及装置 |
US9160369B1 (en) * | 2013-03-01 | 2015-10-13 | Proton Digital Systems, Inc. | Method for iterative error correction with designed error floor performance |
EP2833553A1 (en) * | 2013-07-30 | 2015-02-04 | Alcatel Lucent | LDPC encoder and decoder |
Non-Patent Citations (4)
Title |
---|
DRAFT P802.11AY D0.2.《http://www.ieee802.org/11/private/Draft_Standards/11ay/Draft P802.11ay_D0.2.pdf》.2017,第107-108页. * |
LAN/MAN Standards Committee of the IEEE Computer Society.IEEE DRAFT * |
Length 1344 LDPC codes for 11ay;Shadi Abu-Surra;《IEEE 802 .11-16/0676r1》;20160517;第1-32页 * |
Rate 7/8 LDPC Code for llay;XIN, Yan;《IEEE802.11-16/1495r1》;20161110;第1-25页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2018157390A1 (en) | 2018-09-07 |
JP2020515125A (ja) | 2020-05-21 |
CN113676188A (zh) | 2021-11-19 |
EP3571770C0 (en) | 2024-02-21 |
EP4373019A3 (en) | 2024-07-10 |
RU2733826C1 (ru) | 2020-10-07 |
US20190393890A1 (en) | 2019-12-26 |
US11082061B2 (en) | 2021-08-03 |
US20210376857A1 (en) | 2021-12-02 |
US11671115B2 (en) | 2023-06-06 |
CN110249536A (zh) | 2019-09-17 |
EP3571770B1 (en) | 2024-02-21 |
JP6873262B2 (ja) | 2021-05-19 |
KR102262186B1 (ko) | 2021-06-08 |
EP4373019A2 (en) | 2024-05-22 |
KR20190112124A (ko) | 2019-10-02 |
EP3571770A4 (en) | 2020-06-03 |
EP3571770A1 (en) | 2019-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10868567B2 (en) | Methods and systems for encoding and decoding for LDPC codes | |
CN110249536B (zh) | 高码率的长ldpc码 | |
US8627166B2 (en) | LDPC code family for millimeter-wave band communications in a wireless network | |
US11646818B2 (en) | Method and apparatus for encoding/decoding channel in communication or broadcasting system | |
CN111357218B (zh) | 用于在通信或广播系统中对信道进行编码和解码的方法和设备 | |
KR102678457B1 (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
EP3613148B1 (en) | Method and apparatus for channel encoding and decoding in communication or broadcasting system | |
EP3542481B1 (en) | Apparatus and method for channel encoding/decoding in communication or broadcasting system | |
KR102302366B1 (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
JP7030932B2 (ja) | Ldpc符号の符号化および復号化のための方法およびシステム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |