CN101336516B - 级联低密度奇偶校验码的迭代解码 - Google Patents
级联低密度奇偶校验码的迭代解码 Download PDFInfo
- Publication number
- CN101336516B CN101336516B CN2006800521623A CN200680052162A CN101336516B CN 101336516 B CN101336516 B CN 101336516B CN 2006800521623 A CN2006800521623 A CN 2006800521623A CN 200680052162 A CN200680052162 A CN 200680052162A CN 101336516 B CN101336516 B CN 101336516B
- Authority
- CN
- China
- Prior art keywords
- iteration
- decoding
- decoder
- common
- code word
- 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.)
- Expired - Fee Related
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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/296—Particular turbo code structure
- H03M13/2972—Serial concatenation using convolutional component 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/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)
- Error Detection And Correction (AREA)
Abstract
描述了对级联低密度奇偶校验码(LDPC)执行迭代解码的技术。通过执行T次公共迭代实现级联码的迭代解码,其中一次公共迭代包括:由第一解码器(340)对LDPC内码进行t1次解码迭代以及其后由第二解码器(350)对LDPC外码进行t2次解码迭代,并且其中,两个解码器交换软输出信息。
Description
技术领域
本发明总体上涉及数据处理技术,更具体地,涉及级联低密度奇偶校验码的迭代解码。
背景技术
现代无线通信系统可以根据电气和电子工程师协会(IEEE)标准(诸如用于无线局域网(WLAN)的802.11标准和用于无线城域网(WMAN)的802.16标准)来运行。微波存取全球互通(WiMAX)是基于IEEE 802.16标准的无线宽带技术,其中IEEE 802.16-2004和802.16e修正案是物理(PHY)层规范。
无线通信系统,例如根据IEEE 802.11和802.16标准运行的系统,可以包括纠错方案。一种这样的纠错方案是前向纠错(FEC)。FEC是一种在数据传输中获得差错控制的方法,其中源站(例如,发射机)发送冗余数据并且目的站(例如,接收器)只识别未包含明显差错的数据部分。因为FEC不要求源站和目的站之间的握手,所以可用于从单个源站同时向多个目的站广播数据。
发明内容
根据本发明的一个方面,提供了一种用于级联低密度奇偶校验码的迭代解码的装置,所述装置包括节点,所述节点具有用于对码字进行解码的第一解码器以及用于对所述第一解码器的软输出进行解码的第二解码器,所述节点对由所述第一解码器和所述第二解码器进行的解码进行迭代,作为一次公共迭代,其中,所述码字包括级联低密度奇偶校验码字,并且其中,公共迭代的次数大于在一次公共迭代之内的第一解码器迭代的次数,并且所述公共迭代的次数大于在一次公共迭代之内的第二解码器迭代的次数,所述第二解码器在每次公共迭代期间从所述第一解码器接收一数目的软值比特和一数目的剩余比特,更新所述软值比特,并处理所更新的软值比特和所述剩余比特。
根据本发明的另一个方面,提供了一种用于级联低密度奇偶校验码的迭代解码的系统,包括:通信介质;以及耦合到所述通信介质的节点,所述节点具有用于对码字进行解码的第一解码器以及用于对所述第一解码器的软输出进行解码的第二解码器,所述节点对由所述第一解码器和所述第二解码器进行的解码进行迭代,作为一次公共迭代,其中,所述码字包括级联低密度奇偶校验码字,并且其中,公共迭代的次数大于在一次公共迭代之内的第一解码器迭代的次数,并且所述公共迭代的次数大于在一次公共迭代之内的第二解码器迭代的次数,所述第二解码器在每次公共迭代期间从所述第一解码器接收一数目的软值比特和一数目的剩余比特,更新所述软值比特,并处理所更新的软值比特和所述剩余比特。
根据本发明的再一个方面,提供了一种用于级联低密度奇偶校验码的迭代解码的方法,包括:对码字执行第一解码;对所述第一解码的软输出执行第二解码,所述第二解码包括从所述第一解码的所述软输出接收一数目的软值比特和一数目的剩余比特、更新所述软值比特、并处理所更新的软值比特和所述剩余比特;以及对所述第一解码和所述第二解码进行迭代,作为一次公共迭代,其中,所述码字包括级联低密度奇偶校验码字,并且其中,公共迭代的次数大于在一次公共迭代之内的第一解码迭代的次数,并且所述公共迭代的次数大于在一次公共迭代之内的第二解码迭代的次数。
根据本发明的又一个方面,提供了一种用于级联低密度奇偶校验码的迭代解码的装置,包括:用于对码字执行第一解码的模块;用于对所述第一解码的软输出执行第二解码的模块,所述第二解码包括从所述第一解码的所述软输出接收一数目的软值比特和一数目的剩余比特、更新所述软值比特、并处理所更新的软值比特和所述剩余比特;以及用于对所述第一解码和所述第二解码进行迭代,作为一次公共迭代的模块,其中,所述码字包括级联低密度奇偶校验码字,并且其中,公共迭代的次数大于在一次公共迭代之内的第一解码迭代的次数,并且所述公共迭代的次数大于在一次公共迭代之内的第二解码迭代的次数。
附图说明
图1说明通信系统的一个实施例。
图2说明节点的一个实施例。
图3说明二级码级联(two level code concatenation)的一个实施例。
图4说明对二级码级联进行编码的一个实施例。
图5说明迭代解码的一个实施例。
图6说明逻辑流程的一个实施例。
图7说明模拟结果的一个实施例。
具体实施方式
描述了对级联低密度奇偶校验(LDPC)码执行迭代解码的技术。例如,一个实施例可以执行纠错码的编码构造(construction)和解构(deconstruction)。更具体地,一个实施例是对级联LDPC码进行迭代解码的方法。纠错码构造的迭代和级联方案允许根据较短的纠错码来获取较长的纠错码,改善了编码的纠错能力和增大的编码所需开销之间的平衡。一个实施例的编码构造对可能出现特定差错模式的信道尤其有用。编码的进一步组合(或级联)可以形成多维编码构造,可用于纠正例如无线信道常见的复杂结构的差错模式。
图1说明系统的一个实施例。图1说明通信系统100的方框图。在各种实施例中,通信系统100可以包括多个节点。一个节点通常可以包括用于在通信系统100中进行信息通信的任意物理或逻辑实体,并且可以根据给定的一组设计参数或性能约束的需要,实现为硬件、软件、或其任意组合。尽管图1可能以示例方式示出有限数量的节点,但是可以理解,特定的实现可以采用更多或更少的节点。
在各种实施例中,节点可以包括或被实现为:计算机系统、计算机子系统、计算机、装置、工作站、终端、服务器、个人计算机(PC)、便携式计算机、超便携式计算机、手持计算机、个人数字助理(PDA)、机顶盒(STB)、电视机、数字电视机、电话、移动电话、蜂窝电话、手机、无线接入点、基站(BS)、用户站(SS)、移动用户中心(MSC)、无线网络控制器(RNC)、微处理器、诸如专用集成电路(ASIC)这样的集成电路、可编程逻辑器件(PLD)、处理器(诸如通用处理器、数字信号处理器(DSP)和/或网络处理器)、接口、输入/输出(I/O)设备(例如,键盘、鼠标、显示器、打印机)、路由器、集线器、网关、网桥、交换机、电路、逻辑门、寄存器、半导体器件、芯片、晶体管、或任意其它器件、机器、工具、设备、部件、或其组合。实施例不限于此。
在各种实施例中,节点可以包括或被实现为:软件、软件模块、应用、程序、子例程、指令集、计算代码、字、值、符号或其组合。节点可以根据用于命令处理器执行特定功能的预定计算机语言、方式或语法来实现。计算机语言的实例可以包括C、C++、Java、BASIC、Perl、Matlab、Pascal、Visual BASIC、汇编语言、机器码、用于网络处理器的微码,等等。实施例不限于此。
通信系统100的节点可以用于进行一种或多种类型信息的通信,诸如媒体信息和控制信息。媒体信息通常是指用来表示对用户有意义的内容的任意数据,诸如图像信息、视频信息、图形信息、音频信息、语音信息、文本信息、数字信息、字母数字符号、字符符号,等等。控制信息通常是指表示对自动化系统有意义的命令、指令或控制字的任意数据。例如,控制信息可以用于在系统内对媒体信息进行路由、或命令节点以特定方式处理媒体信息。媒体和控制信息可以发自或发往多个不同设备或网络。
在各种实现中,通信系统100的节点可以用于将一组媒体信息和控制信息分割为一系列分组。分组通常可以包含具有固定或可变长度的离散数据集,并可以以比特或字节来表示。可以理解,所述实施例可应用于任意类型的通信内容或格式,诸如分组、信元、帧、段、单元,等等。
通信系统100可以根据一个或多个标准进行信息通信,所述标准诸如IEEE、互联网工程任务组(IETF)、国际电信联盟(ITU)等公布的标准。在各种实施例中,例如,通信系统100可以根据一个或多个IEEE 802标准进行信息通信,所述IEEE 802标准包括用于WLAN的IEEE 802.11标准(例如,802.11a、b、g/h、j、n,及变型)和/或用于WMAN的802.16标准(例如,802.16-2004、802.16.2-2004、802.16e、802.16f,及变型)。通信系统100可以根据一个或多个地面数字视频广播(DVB-T)广播标准和高性能无线局域网(HiperLAN)标准进行信息通信。实施例不限于此。
在各种实施例中,通信系统100可以采用一个或多个协议,诸如介质访问控制(MAC)协议、物理层汇聚协议(PLCP)、简单网络管理协议(SNMP)、异步传输模式(ATM)协议、帧中继协议、系统网络架构(SNA)协议、传输控制协议(TCP)、互联网协议(IP)、TCP/IP、X.25、超文本传输协议(HTTP)、用户数据报协议(UDP),等等。
通信系统100可以包括一个或多个节点(例如,节点110-130),这些节点用于通过一个或多个有线和/或无线通信介质进行信息通信。有线通信介质的实例可以包括电线、电缆、印刷电路板(PCB)、背板、交换结构(switchfabric)、半导体材料、双绞线、同轴电缆、光纤,等等。无线通信介质的实例可以包括部分的无线频谱,诸如射频(RF)频谱。在这样的实现中,系统100的节点可以包括适于在指定无线频谱上传送信息信号的部件和接口,诸如一个或多个发射机、接收机、收发机、放大器、滤波器、控制逻辑、天线等等。
通信介质可以使用输入/输出(I/O)适配器连接到节点。I/O适配器可以用于以任意适合的技术运行,以用于使用所需的一组通信协议、服务或操作流程来控制节点之间的信息信号。I/O适配器还可以包括适当的物理连接器,以连接I/O适配器和相应的通信介质。I/O适配器的实例可以包括网络接口、网络接口卡(NIC)、线卡(line card)、磁盘控制器、视频控制器、音频控制器,等等。
在各种实施例中,通信系统100可以包括或形成网络的一部分,诸如WiMAX网络、宽带无线接入(BWA)网络、WLAN、WMAN、无线广域网(WWAN)、无线个人局域网(WPAN)、码分多址(CDMA)网络、宽带CDMA(WCDMA)网络、时分同步CDMA(TD-SCDMA)网络、时分多址(TDMA)网络、扩展TDMA(E-TDMA)网络、全球移动通信系统(GSM)网络、正交频分复用(OFDM)网络、正交频分多址(OFDMA)网络、北美数字蜂窝(NADC)网络、通用移动电话系统(UMTS)网络、第三代(3G)网络、第四代(4G)网络、局域网(LAN)、广域网(WAN)、城域网(MAN)、互联网、万维网、蜂窝网络、无线电网络、卫星网络、和/或用于承载数据的任何其它通信网络。实施例不限于此。
通信系统100可以采用各种调制技术,包括例如:OFDM调制,正交幅度调制(QAM),N状态QAM(N-QAM)(诸如16-QAM(每个符号4比特)、32-QAM(每个符号5比特)、64-QAM(每个符号6比特)、128-QAM(每个符号7比特)、以及256-QAM(每个符号8比特)),差分QAM(DQAM),二进制相移键控(BPSK)调制,正交相移键控(QPSK)调制,偏移QPSK(OQPSK)调制,差分QPSK(DQPSK),频移键控(FSK)调制,最小频移键控(MSK)调制,高斯MSK(GMSK)调制,等等。实施例不限于此。
在各种实施例中,通信系统100可以用于对纠错码进行解码。更具体地,通信系统100可以用于迭代地对级联LDPC码进行解码。在2维级联的实施例中,通信系统100用于在内解码器(inner decoder)中迭代地对LDPC码进行解码,以产生针对外解码器(outer decoder)的软输出。然后,外解码器迭代地对来自内解码器的软输出进行解码。此后,通信系统用于重复公共迭代(common iteration)(例如,内解码器迭代以及随后的外解码器迭代),以完成对级联LDPC码的解码。
在一个实施例中,通信系统100可以包括一个或多个无线通信设备,诸如节点110-130。节点110-130都可以用于使用一个或多个无线发射机/接收机(“收发机”)或无线电来传送信息信号,这涉及通过例如用于WMAN的802.16方案(例如,802.16-2004,802.16.2-2004,802.16e,802.16f,及变型)来使用射频通信。节点110-130可以在无线共享介质160上通过其中建立的多条链路或信道来使用无线电进行通信。尽管图1示出特定拓扑结构中有限数量的节点,但是通信系统100可以按照特定实现所需而包括任意类型拓扑结构中的额外的或更少的节点。实施例不限于此。
进一步,节点110和120可以包括具有无线功能的固定设备。固定设备可以包含通用设备集,其提供对另一个设备(诸如移动设备)的连接、管理以及控制。节点110和120的实例可以包括无线接入点(AP),基站或节点B,路由器,交换机,集线器,网关,媒体网关,等等。在一个实施例中,节点110和120还可以通过有线通信介质提供到网络170的接入。除了例如其它WAN之外,网络170可以例如包括诸如互联网、公司或企业网络这样的分组网络,诸如公共交换电话网(PSTN)这样的语音网络。实施例不限于此。
在一个实施例中,系统100可以包括节点130。节点130可以例如包括具有无线功能的移动设备或固定设备。移动设备可以包含通用设备集,其提供到其它无线设备(诸如其它移动设备或固定设备)的连接。节点130的实例可以包括计算机、服务器、工作站、笔记本计算机、手持计算机、电话、蜂窝电话、个人数字助理(PDA)、蜂窝电话和PDA的组合,等等。
节点110-130可以具有一个或多个无线收发机和无线天线。在一个实施例中,例如,节点110-130的每个可以具有多个收发机和多个天线,用来在无线共享介质160上传送信息信号。例如,可以使用无线共享介质160的一个或多个频带形成信道162、链路或连接,以用于发送和接收分组164。实施例不限于此。
图2更具体的说明通信系统100的节点110。如图2所示,该节点可以包含多个元件,诸如部件140、模块150、处理器210、存储器260、交换机220、发射机230、接收机240、以及天线250,以通过无线共享介质160传送分组164。发射机230和接收机240还可以统称为收发机。天线250可以包括内部天线、全向天线、单极天线、偶极天线、底端馈电天线或圆极化天线、微带天线、分集天线、双天线、天线阵,等等。一些元件可以使用例如一个或多个电路、部件、寄存器、处理器、软件子例程、或其任意组合来实现。尽管图2示出有限数量的元件,但是可以理解,按照给定实现所需,节点110中可以使用额外的或更少的元件。实施例不限于此。
如前所述,在一个实施例中,节点110可以包括处理器210。处理器210可以连接到交换机220和/或收发机(例如,发射机230和接收机240)。处理器210可以使用任意处理器或逻辑器件来实现,诸如复杂指令集计算机(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实现有多个指令集组合的处理器、或其它处理器设备。在一个实施例中,例如,处理器210可以实现为通用处理器,诸如加利福尼亚的Santa Clara的英特公司生产的处理器。处理器210还可以实现为专用处理器,诸如控制器、微控制器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、媒体处理器、输入/输出(I/O)处理器、介质访问控制(MAC)处理器、无线基带处理器、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、等等。实施例不限于此。
在一个实施例中,处理器210可以包括或者可以访问存储器260。存储器260可以包含任意机器可读介质。存储器260可以使用任意能够存储数据的机器可读或计算机可读介质来实现,包括易失性和非易失性存储器。例如,存储器260可以包括只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双倍数据速率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、闪存、诸如铁电聚合物存储器这样的聚合物存储器、奥氏(ovonic)存储器、相变或铁电存储器、硅氧化氮氧化硅(SONOS)存储器、磁卡或光卡、或适于存储信息的任意其它类型的介质。值得注意的是,存储器260的一些部分或全部可以与处理器210被包括在同一个集成电路上,或可选地,存储器260的一些部分或全部可以位于一个集成电路或其它介质上,例如在处理器210的集成电路之外的硬盘驱动器。实施例不限于此。
当在通信系统100的一个节点中实现时,节点110可以用于在诸如节点120和130这样的各种节点之间通过无线通信介质进行信息通信。可以使用分组164的形式通过无线共享介质160来传送信息,每个分组164包含媒体信息和/或控制信息。媒体和/或控制信息可以使用例如多个正交频分复用(OFDM)符号来表示。在本文中,分组164可以是指信息的任意离散集合,包括单元、帧、信元、分段、片段、等等。分组可以具有适于给定实现的任意大小。实施例不限于此。
图3-7更具体地描述了例如通信系统100和/或节点110的编码构造和解码方法。例如,图3说明了二级码级联框图300。信息比特305由外编码器进行编码,生成外码字(outer codeword)315。此后,外码字315由内编码器320进行编码,生成内码字(inner codeword) 325。然后,可以通过信道330(例如,通信系统100的信道162)来传送内码字。在一个实施例中,信道330是根据IEEE 802.11或802.16标准的信道。在编码端,级联码提供了显著的纠错能力,而同时并未令已编码的信号过多地负担冗余开销。
然后,内码字325被接收并首先由内解码器340进行解码。此后,内解码器340的软输出被进一步由外解码器350进行解码。一般来说,在解码端,码级联可以有效减少通信信道中所发生的差错数(例如,比特差错率,或BER)。例如,内解码器340的软输出已被内解码器340进行了纠错。因此,外解码器350的输入可以包括较少的差错并可以允许外解码器350更高效地运行。
二级级联300方案的一种组合是里德-所罗门码作为外码并且卷积码作为内码。这一组合可以有效减少针对一信号的给定信噪比(SNR)的BER。在一个实施例中,外码和内码都是LDPC码。LPDC码是一类线性块编码,为大量数据传输和存储信道提供接近容量的性能(例如,接近香农极限,或接近能够在存在噪声干扰的情况下在具有指定带宽的通信链路上传输的无差错数字数据的理论最大值),同时还允许解码器实际得以实现。例如,与上述里德-所罗门码和卷积码的组合相比,级联LDPC码可以提供相同或改进的纠错,而同时减少解码器所需的复杂性。
图4说明图3的二级码级联400的编码的一个实施例。更具体地,图4说明了二级码级联400,其包括(n1,k1)LDPC外码和(n2,k2)LDPC内码,其中k2=n1。例如,比特长度为k1的信息比特305由外编码器310进行编码,生成比特长度为n1的外码字315。在一个实施例中,外编码器使用LDPC编码技术来对信息比特305进行编码。此后,外码字由内编码器320进行编码,生成比特长度为n2的内码字325。在一个实施例中,内编码器使用LDPC编码技术来对外码字315进行编码。内码字325包括信息比特305、外码奇偶校验410、以及内码奇偶校验420。外码奇偶校验410和内码奇偶校验420在一个实施例中分别由均使用LDPC编码技术的外编码器310和内编码器320生成。在一个实施例中,编码具有系统格式(例如,序列中最前的比特是信息比特305)。这一系统格式与802.16标准提出的编码有关。此后,可以通过通信信道(例如,根据802.11或802.16标准的通信信道)来传送内码字325。在进一步的实施例中,二级码级联400可以包括具有非系统格式的编码。在非系统格式中,信息比特305(符号)可以与码字(例如,外码字315和/或内码字325)被安排在一起,并可以不是码字序列中的最前的比特。
图5说明一个实施例的迭代解码。通常,在接收机,以与编码过程相逆的顺序,发生一个实施例的对内码字325进行解码的过程。首先,例如,n2比特的内码字325由内解码器340进行解码,恢复n1比特的外码字315。然后,n1比特的外码字315由外解码器300进行解码,恢复k1个信息比特。此外,解码过程可以以迭代的步骤进行。如下面将更详细解释的,在一个实施例中,两个解码器(例如,内解码器340和外解码器350)进行的迭代的最大次数和是t。在一个实施例中,t的选取可以用来对解码性能(例如,差错概率)和延迟之间的权衡作出平衡。
在一个实施例中,每个解码器(例如,内解码器340和外解码器350)对LDPC码进行解码。LDPC码的解码器是软输入/软输出(SISO)解码器,其进行迭代处理以便逐个符号作出判定。软输入是指这样的特性,即,解码器不仅考虑所接收的比特,而且考虑关于与这些比特相关联的概率的附加信息。LDPC解码器还能够在任意迭代之后向例如另一个LDPC解码器输出关于符号的可靠的软判决信息(例如,软输出)。
更具体地,一个实施例是一种迭代解码方法,其中解码迭代由例如内解码器340和外解码器350联合进行(例如,非完全顺序地),以恢复信息比特305。首先,接收到内码字325的内解码器340执行t1次迭代,其中t1<t,以生成软输出。然后,外解码器350接收由内解码器340生成的k2个软消息比特作为输入。然后,外解码器350进行t2次迭代,更新n1=k2个软值。此后,外解码器350处理更新后的k2个软值和从第一解码迭代中剩余的r2个值,其中r2=n2-k2。在一个实施例中,内解码器340迭代和外解码器350迭代的一个循环可以被称为一次公共迭代。因此,每个公共迭代包括t1次内解码器340迭代和t2次外解码器350迭代,或总共t1+t2次迭代。一个实施例的公共迭代自身可以重复T次。在一个实施例中,公共迭代的T值可以被选取为提供T(t1+r2)=t。所选择的T提供实际与常规的顺序解码器相同的解码复杂性,其中常规的顺序解码器内码字325在传递到外解码器350前由内解码器340进行解码。在一个实施例中,T、t1、t2和t的选取用于对解码性能(例如,差错概率)和延迟之间的权衡作出平衡。例如,更多的迭代(或公共迭代和单独的解码器迭代的不同组合)可以减少差错概率但同时却增加了延迟。不同通信应用可能对差错、延迟、或其组合敏感。在一个实施例中,T=20,而t1=t2=1。
在一个实施例中,LDPC解码器(例如,内解码器340和外解码器350)的性能实际依赖于LDPC码的奇偶校验矩阵中存在的循环。例如,较大的循环长度减少了比特差错影响形成循环的奇偶校验矩阵位置的概率。进一步,如果LDPC码内的差错位置影响奇偶校验矩阵中的循环,那么对一个编码的解码迭代(例如,单个LDPC解码器进行的迭代)可能无法纠正这种差错,并且该差错可能因此会循环发生。因此,在一个解码器(例如,内解码器340)的一次迭代或多次迭代后,软输出可以被传送到另一个解码器(例如,外解码器350),后者包括奇偶校验矩阵的不同结构(例如,形成该循环的不同奇偶校验矩阵位置),以用于进行一次迭代或多次迭代。对多个LDPC码使用多个解码器可以减轻这一循环发生的差错的影响。然后,来自第二解码器(例如,外解码器350)的软输出可以被返回到初始的解码器(例如,内解码器340),以进行进一步的一次迭代或多次迭代。
图6说明一个实施例的逻辑流程600。在610,接收码字。在一个实施例中,该码字被以二级码级联来进行编码,包括(n1,k1)LDPC外码和(n2,k2)LDPC内码,其中k2=n1。在620,内解码器迭代地对该码字进行解码,持续t1次迭代。此后,在630,外解码器迭代地对内解码器的软输出进行解码,持续t2次迭代。在一个实施例中,内解码器迭代620和外解码器迭代630的一个循环可以被称为一次公共迭代。因此,每个公共迭代包括t1次内解码器迭代620和t2次外解码器迭代,或总共t1+t2次迭代。一个实施例的公共迭代自身可以重复T次。如上所述,可以选择公共迭代的次数T,以提供T(t1+t2)=t。在一个实施例中,T、t1、t2和t都可以被进行选取,用来对解码性能(例如,差错概率)和延迟之间的权衡作出平衡,以优化特定通信系统100的实施例。
图7说明(1728,1354,0.78)外码和(2304,1728,0.75)内码的一个实施例对于t1、k2和T的各种组合的模拟结果。在一个实施例中,模拟结果表示加性高斯白噪声(AWGN)信道以及内码和外码LDPC解码器的最小和(min-sum)解码器。如图所述,常规编码涉及内解码器的20次迭代,以及随后外解码器的20次迭代(例如,只有一次公共迭代)。一个实施例中,T=2,并且t1=k2=10,其展示了对于给定SNR的BER的微小改进。进一步的实施例中,T=20,并且t1=t2=1(例如,20次公共迭代,其中在发送其软输出到外解码器进行一次迭代前,内解码器只执行1次迭代),差错概率有大约0.2dB的增益。总之,结果显示,对于给定的最大总迭代次数,通过利用更多的公共迭代以及更少的各自的解码器迭代,可以达到针对给定SNR的BER上的改进。
本文阐述了许多具体细节以便提供对实施例的透彻理解。但是本领域技术人员可以理解,可以无需这些具体细节而实现这些实施例。在其它实例中,未详细描述公知的操作、部件和电路,以免混淆这些实施例。可以理解,本文所公开的具体结构和功能细节可以是代表性的,而并非必然限制实施例的范围。
还值得注意的是,对“一个实施例”或“实施例”的任何提及指的是结合该实施例而描述的具体特性、结构、或特征包括在至少一个实施例中。本说明书中不同位置出现的“在一个实施例中”并非必然都指同一实施例。
一些实施例可以使用随任意多个因素而不同的体系结构来实现,所述因素诸如所需的计算率、功率级、耐热性、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它性能约束。例如,一个实施例可以使用由通用或专用处理器执行的软件来实现。在另一个实例中,实施例可以被实现为专用硬件。在又一个实例中,实施例可以由编程的通用计算机部件和定制的硬件部件的组合来实现。实施例不限于此。
各种实施例可以使用一个或多个硬件单元来实现。通常,硬件单元可以是指用于执行特定操作的任意硬件结构。在一个实施例中,例如,硬件单元可以包括制造在基底上的任意模拟或数字电气或电子元件。制造可以使用硅基集成电路(IC)技术,诸如互补金属氧化物半导体(CMOS)、双级晶体管、以及双极CMOS(BiCMOS)技术。硬件元件的实例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器,等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组,等等。实施例不限于此。
各种实施例可以使用一个或多个软件单元来实现。通常,软件单元可以是指用于执行特定操作的任意软件结构。在一个实施例中,例如,软件单元可以包括由诸如处理器这样的硬件元件执行的程序指令和/或数据。程序指令可以包括组织好的命令列表,所述命令包含以预定语法安排的字、值、或符号,当执行这些命令时,可以使处理器执行相应的一组操作。软件可以使用编程语言来编写。编程语言的实例可以包括C、C++、BASIC、Perl、Matlab、Pascal、Visual BASIC、JAVA、ActiveX、汇编语言、机器码,等等。可以使用任意的计算机可读介质或机器可读介质来存储软件。此外,软件可以作为源代码或目标代码被存储在介质上。软件还可以作为压缩和/或加密数据被存储在介质上。软件的实例可以包括任意软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算码、计算机码、代码段、计算机代码段、字、值、符号、或其任意组合。实施例不限于此。
可以使用表述“耦合的”和“连接的”及其派生词来描述一些实施例。应当理解,这些术语并非彼此的同义词。例如,一些实施例可以使用术语“连接的”来描述,以表示两个或多个元件彼此直接物理或电接触。在另一个实例中,一些实施例可以使用术语“耦合的”来描述,以表示两个或多个元件直接物理或电接触。但是,术语“耦合的”还可以指两个或多个元件彼此并非直接接触,但仍彼此合作或交互。实施例不限于此。
可以使用例如可以存储指令或指令集的机器可读介质或制品来实现一些实施例,如果机器执行这些指令,可以使机器执行根据实施例的方法和/或操作。这样的机器可以包括,例如,任意适当的处理平台、计算平台、计算设备、处理设备、计算系统、处理系统、计算机、处理器、等等,并可以使用硬件和/或软件的任意适当组合来实现。机器可读介质或制品可以包括,例如,任意适当类型的存储单元、存储设备、存储产品、存储介质、储存设备、储存产品、储存介质和/或储存单元,例如,存储器、可移动或不可移动介质、可擦除或不可擦除介质、可写或可重写介质、数字或模拟介质、硬盘、软盘、只读光盘(CD-ROM)、可刻录光盘(CD-R)、可重写光盘(CD-RW)、光盘、磁介质、磁光介质、可移动存储卡或盘、各种数字多用盘(DVD)、磁带、盒式磁带,等等。指令可以包括任意适当类型的代码,诸如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码,等等。指令可以使用任意适当的高级的、低级的、面向对象的、可视化的、编译的和/或解释的编程语言来实现,诸如C、C++、JAVA、BASIC、Perl、Matlab、Pascal、Visual BASIC、汇编语言、机器码,等等。实施例不限于此。
除非特别说明,否则可以理解,诸如“处理”、“计算”、“运算”、“判断”等等术语是指计算机或计算系统、或类似电子计算设备的动作和/或处理,所述动作和/或处理对以计算系统的寄存器和/或存储器内的以物理量(例如,电子的)表示的数据进行操纵和/或转换,使其成为类似地表达为计算系统的存储器、寄存器或其它这样的信息储存、传输或显示设备内的物理量的其它数据。实施例不限于此。
尽管本文示出和描述了实施例的特定特征,但是本领域技术人员可以想到许多修改、替换、变更和等价物。因此,应当理解,所附权利要求旨在覆盖所有这样的修改和变更,将其视为落入实施例的实质之内。
Claims (4)
1.一种用于级联低密度奇偶校验码的迭代解码的装置,所述装置包括节点,所述节点具有用于对码字进行解码的第一解码器以及用于对所述第一解码器的软输出进行解码的第二解码器,所述节点对由所述第一解码器和所述第二解码器进行的解码进行迭代,作为一次公共迭代,其中,所述码字包括级联低密度奇偶校验码字,并且其中,公共迭代的次数大于在一次公共迭代之内的第一解码器迭代的次数,并且所述公共迭代的次数大于在一次公共迭代之内的第二解码器迭代的次数,所述第二解码器在每次公共迭代期间从所述第一解码器接收一数目的软值比特和一数目的剩余比特,更新所述软值比特,并处理所更新的软值比特和所述剩余比特。
2.一种用于级联低密度奇偶校验码的迭代解码的系统,包括:
通信介质;以及
耦合到所述通信介质的节点,所述节点具有用于对码字进行解码的第一解码器以及用于对所述第一解码器的软输出进行解码的第二解码器,所述节点对由所述第一解码器和所述第二解码器进行的解码进行迭代,作为一次公共迭代,
其中,所述码字包括级联低密度奇偶校验码字,并且其中,公共迭代的次数大于在一次公共迭代之内的第一解码器迭代的次数,并且所述公共迭代的次数大于在一次公共迭代之内的第二解码器迭代的次数,所述第二解码器在每次公共迭代期间从所述第一解码器接收一数目的软值比特和一数目的剩余比特,更新所述软值比特,并处理所更新的软值比特和所述剩余比特。
3.一种用于级联低密度奇偶校验码的迭代解码的方法,包括:
对码字执行第一解码;
对所述第一解码的软输出执行第二解码,所述第二解码包括从所述第一解码的所述软输出接收一数目的软值比特和一数目的剩余比特、更新所述软值比特、并处理所更新的软值比特和所述剩余比特;以及
对所述第一解码和所述第二解码进行迭代,作为一次公共迭代,
其中,所述码字包括级联低密度奇偶校验码字,并且其中,公共迭代的次数大于在一次公共迭代之内的第一解码迭代的次数,并且所述公共迭代的次数大于在一次公共迭代之内的第二解码迭代的次数。
4.一种用于级联低密度奇偶校验码的迭代解码的装置,包括:
用于对码字执行第一解码的模块;
用于对所述第一解码的软输出执行第二解码的模块,所述第二解码包括从所述第一解码的所述软输出接收一数目的软值比特和一数目的剩余比特、更新所述软值比特、并处理所更新的软值比特和所述剩余比特;以及
用于对所述第一解码和所述第二解码进行迭代,作为一次公共迭代的模块,
其中,所述码字包括级联低密度奇偶校验码字,并且其中,公共迭代的次数大于在一次公共迭代之内的第一解码迭代的次数,并且所述公共迭代的次数大于在一次公共迭代之内的第二解码迭代的次数。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/RU2006/000032 WO2007089165A1 (en) | 2006-01-31 | 2006-01-31 | Iterative decoding of concatenated low-density parity-check codes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101336516A CN101336516A (zh) | 2008-12-31 |
CN101336516B true CN101336516B (zh) | 2013-04-24 |
Family
ID=37106350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800521623A Expired - Fee Related CN101336516B (zh) | 2006-01-31 | 2006-01-31 | 级联低密度奇偶校验码的迭代解码 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8230296B2 (zh) |
EP (1) | EP1982421A1 (zh) |
CN (1) | CN101336516B (zh) |
WO (1) | WO2007089165A1 (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007089165A1 (en) | 2006-01-31 | 2007-08-09 | Intel Corporation | Iterative decoding of concatenated low-density parity-check codes |
US8069397B2 (en) * | 2006-07-10 | 2011-11-29 | Broadcom Corporation | Use of ECC with iterative decoding for iterative and non-iterative decoding in a read channel for a disk drive |
US8266495B2 (en) * | 2008-02-20 | 2012-09-11 | Marvell World Trade Ltd. | Systems and methods for performing concatenated error correction |
US8413029B2 (en) | 2009-01-16 | 2013-04-02 | Lsi Corporation | Error correction capability adjustment of LDPC codes for storage device testing |
KR101570472B1 (ko) * | 2009-03-10 | 2015-11-23 | 삼성전자주식회사 | 연접 부호화 및 복호화 구조를 갖는 데이터 처리 시스템 |
US8675693B2 (en) * | 2009-04-27 | 2014-03-18 | Qualcomm Incorporated | Iterative decoding with configurable number of iterations |
US8464123B2 (en) | 2009-05-07 | 2013-06-11 | Ramot At Tel Aviv University Ltd. | Matrix structure for block encoding |
US9015549B2 (en) * | 2011-04-26 | 2015-04-21 | Seagate Technology Llc | Iterating inner and outer codes for data recovery |
TWI562560B (en) * | 2011-05-09 | 2016-12-11 | Sony Corp | Encoder and encoding method providing incremental redundancy |
GB2499424B (en) * | 2012-02-16 | 2016-06-01 | Canon Kk | Methods for decoding, methods for retrieving, method for encoding, method of transmitting, corresponding devices, information storage means and computer |
US9116822B2 (en) * | 2012-12-07 | 2015-08-25 | Micron Technology, Inc. | Stopping criteria for layered iterative error correction |
US9065483B2 (en) | 2013-01-21 | 2015-06-23 | Micron Technology, Inc. | Determining soft data using a classification code |
KR102048515B1 (ko) * | 2013-07-02 | 2019-11-25 | 주식회사 아리스케일 | Ldpc 부호화, 복호화 방법 및 그 방법을 이용하는 장치 |
KR101481768B1 (ko) * | 2013-07-15 | 2015-01-13 | 전북대학교산학협력단 | 랩터 코드 디코딩 장치 및 방법 |
US9559725B1 (en) * | 2013-10-23 | 2017-01-31 | Seagate Technology Llc | Multi-strength reed-solomon outer code protection |
US9396062B1 (en) | 2014-04-04 | 2016-07-19 | Seagate Technology Llc | Group based codes for multi-dimensional recording (MDR) |
EP2978146A1 (en) * | 2014-07-25 | 2016-01-27 | Xieon Networks S.à r.l. | Modulation codée résistante aux glissements de cycle pour des communications par fibres optiques |
US10512032B2 (en) | 2015-08-31 | 2019-12-17 | InstrumentMail, LLC | Geographical radio availability as a service |
US10375608B2 (en) | 2015-08-31 | 2019-08-06 | InstrumentMail, LLC | Dual network geographical radio configuration |
CN108156838B (zh) * | 2015-10-09 | 2021-02-12 | 华为技术有限公司 | 用于编码数据的方法和装置 |
CN107682113B (zh) * | 2017-08-29 | 2020-08-14 | 西安空间无线电技术研究所 | 一种级联ldpc码在atm交换网络中的编译码方法 |
KR102475279B1 (ko) | 2017-12-18 | 2022-12-07 | 삼성전자주식회사 | 컨볼루션 타입의 저밀도 패리티 체크 코드를 이용하여 인코딩 및 디코딩을 수행하는 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법 |
US10530395B2 (en) | 2018-02-06 | 2020-01-07 | Alibaba Group Holding Limited | Iterative message-passing decoding with global code embedded with local code in time-division manner for fault tolerance improvement |
US10972217B2 (en) * | 2018-03-30 | 2021-04-06 | Qualcomm Incorporated | Scheduling for low-density parity-check codes |
TWI739074B (zh) * | 2019-03-15 | 2021-09-11 | 瑞昱半導體股份有限公司 | 迭代式檢測與解碼電路、迭代式檢測與解碼方法及多輸入多輸出接收機 |
KR102163876B1 (ko) * | 2019-11-19 | 2020-10-12 | 주식회사 아리스케일 | Ldpc 부호화, 복호화 방법 및 그 방법을 이용하는 장치 |
CN114598423B (zh) * | 2022-03-14 | 2023-11-21 | 西安电子科技大学 | 联合gmsk与ldpc的解调译码的方法、装置及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1391221A (zh) * | 2001-06-11 | 2003-01-15 | 富士通株式会社 | 记录和再现设备、信号解码电路、纠错方法及迭代解码器 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7254769B2 (en) * | 2002-12-24 | 2007-08-07 | Electronics And Telecommunications Research Insitute | Encoding/decoding apparatus using low density parity check code |
KR100918763B1 (ko) * | 2003-11-14 | 2009-09-24 | 삼성전자주식회사 | 병렬 연접 저밀도 패리티 검사 부호를 사용하는 채널 부호화/복호 장치 및 방법 |
US7237181B2 (en) * | 2003-12-22 | 2007-06-26 | Qualcomm Incorporated | Methods and apparatus for reducing error floors in message passing decoders |
US20050160351A1 (en) * | 2003-12-26 | 2005-07-21 | Ko Young J. | Method of forming parity check matrix for parallel concatenated LDPC code |
US7516389B2 (en) * | 2004-11-04 | 2009-04-07 | Agere Systems Inc. | Concatenated iterative and algebraic coding |
WO2007089165A1 (en) | 2006-01-31 | 2007-08-09 | Intel Corporation | Iterative decoding of concatenated low-density parity-check codes |
-
2006
- 2006-01-31 WO PCT/RU2006/000032 patent/WO2007089165A1/en active Application Filing
- 2006-01-31 CN CN2006800521623A patent/CN101336516B/zh not_active Expired - Fee Related
- 2006-01-31 EP EP06769532A patent/EP1982421A1/en not_active Ceased
- 2006-01-31 US US12/162,655 patent/US8230296B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1391221A (zh) * | 2001-06-11 | 2003-01-15 | 富士通株式会社 | 记录和再现设备、信号解码电路、纠错方法及迭代解码器 |
Non-Patent Citations (1)
Title |
---|
Sang Hoon Lee,Ji Ae Seok,and Eon Kyeong Joo.Serially Concatenated LDPC and Turbo Code with Global Iteration.《PROC. INTERN. CONFERENCE ON SYSTEMS ENGINEERING 2005》.2005, * |
Also Published As
Publication number | Publication date |
---|---|
WO2007089165A1 (en) | 2007-08-09 |
US20090249163A1 (en) | 2009-10-01 |
CN101336516A (zh) | 2008-12-31 |
US8230296B2 (en) | 2012-07-24 |
EP1982421A1 (en) | 2008-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101336516B (zh) | 级联低密度奇偶校验码的迭代解码 | |
US7600180B2 (en) | Iterative metric updating when decoding LDPC (low density parity check) coded signals and LDPC coded modulation signals | |
US7958428B2 (en) | LDPC (low density parity check) coded signal decoding using parallel and simultaneous bit node and check node processing | |
US7436902B2 (en) | Multi-dimensional space Gray code maps for multi-dimensional phase modulation as applied to LDPC (Low Density Parity Check) coded modulation | |
US10097205B2 (en) | Transmission device, reception device, transmission method, and reception method for suppressing the degrading of decoding performance due to combinations of eliminations at the bit level | |
US7139964B2 (en) | Variable modulation with LDPC (low density parity check) coding | |
EP3242460B1 (en) | Data transmission method and device | |
US8483308B2 (en) | Satellite communication system utilizing low density parity check codes | |
EP1553706B1 (en) | Bandwidth efficient LDPC (low density parity check) coded modulation scheme based on MLC (multi-level code) signals | |
US10608665B2 (en) | Method and apparatus for error correction coding in communication | |
US20070260944A1 (en) | Decoding LDPC (Low Density Parity Check) code and graphs using multiplication (or addition in log-domain) on both sides of bipartite graph | |
US20050149844A1 (en) | Decoding LDPC (low density parity check) code with new operators based on min* operator | |
US11671115B2 (en) | High-rate long LDPC codes | |
CN101208893A (zh) | 无线系统用可重配置解码器的技术 | |
US8601344B1 (en) | Method and apparatus for a parameterized interleaver design process | |
Boiko et al. | Simulation of the Transport Channel With Polar Codes for the 5G Mobile Communication | |
WO2021079643A1 (en) | Method and device for multilevel polar-coded modulation transmitting and receiving | |
EP1406392B1 (en) | Variable modulation with LDPC (low density parity check) coding | |
EP1494359A2 (en) | Multi-dimensional space Gray code maps for mulit-dimensional phase modulation as applied to LDPC (low density parity check coded modulation | |
Hewitt | Turbo product codes for LMDS | |
Hussein | Universal decoder for low density parity check, turbo and convolutional codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130424 Termination date: 20180131 |