CN101039119B - 编码与解码的方法及系统 - Google Patents

编码与解码的方法及系统 Download PDF

Info

Publication number
CN101039119B
CN101039119B CN2007100014926A CN200710001492A CN101039119B CN 101039119 B CN101039119 B CN 101039119B CN 2007100014926 A CN2007100014926 A CN 2007100014926A CN 200710001492 A CN200710001492 A CN 200710001492A CN 101039119 B CN101039119 B CN 101039119B
Authority
CN
China
Prior art keywords
information
code
encoder
interleaver
encoded
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
Application number
CN2007100014926A
Other languages
English (en)
Other versions
CN101039119A (zh
Inventor
邱茂清
陆晓峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial Technology Research Institute ITRI
Original Assignee
Industrial Technology Research Institute ITRI
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial Technology Research Institute ITRI filed Critical Industrial Technology Research Institute ITRI
Publication of CN101039119A publication Critical patent/CN101039119A/zh
Application granted granted Critical
Publication of CN101039119B publication Critical patent/CN101039119B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2972Serial concatenation using convolutional component codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1191Codes on graphs other than LDPC codes
    • H03M13/1194Repeat-accumulate [RA] codes
    • H03M13/1197Irregular repeat-accumulate [IRA] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2939Coding, 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 using convolutional codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0065Serial concatenated codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

一种用于信息处理应用的编码器,所述编码器包含:输入,其经配置以提供需编码的信息位;和前馈卷积外代码编码器,其经配置以编码所述信息位,以便产生包含所述信息位和奇偶位的经编码的信息位。所述编码器还可包含至少一个交错器,其经配置以交错所述经编码的信息位,以便产生外代码字。另外,所述编码器可包含基于码率1的1/(1+D)累加码的内代码编码器,其经配置以编码所述外代码字,以便产生对应于所述信息位的一个或一个以上代码字。

Description

编码与解码的方法及系统
技术领域
本发明一般来说涉及信道编码技术领域,且更明确地说,涉及使用基于累加码(accumulate code)的编码和解码算法的方法和系统。
背景技术
人们已经越来越接受涡轮码(turbo code)和低密度奇偶校验(low-density parity-check,LDPC)码作为用于通信系统、尤其是用于无线移动通信系统的错误更正编码标准。涡轮码和LDPC码两者都可用于实现近容量性能(near-capacity performance)。
涡轮码通常可包含两个或两个以上卷积码(convolutional code)。涡轮码可由具有两个或两个以上的卷积码编码器和若干交错器(interleaver)所建构。可通过使用迭代解码技术(iterative decoding technique)来解码。经涡轮码编码的信息,其计算复杂度(computational complexity)与每个卷积码所需的计算复杂度相当。然而,迭代地解码每个卷积码可能导致延迟,且因此可能增加底层通信系统(underlying communication system)的等待时间。
与涡轮码不同,LDPC码一般来说不具有确定结构,且可由稀疏奇偶校验矩阵(即,具有相对较小数目的1的矩阵)来指定。LDPC码还可视为对应于稀疏奇偶校验矩阵的列(row)的多个单奇偶校验(single parity check,SPC)码的组合。因此,LDPC解码器可为大量相对较简单的子解码器(每个SPC码一个子解码器)的组合。可通过迭代地交换子解码器之间的信息来执行解码,所述子解码器的任务包含提供关于每个SPC码的信息。举例来说,可通过使用可靠传递(belief propagation,BP)算法、和积算法(sum-productalgorithm,SPA)或最小和算法(min-sum algorithm)来执行解码过程。然而,通常基于计算机所产生的伪随机奇偶校验矩阵(pseudo-randomparity-check matrix)来设计LDPC码,因此LDPC码不具有简单的编码结构。在某些情况下,由于LDPC编码结构复杂度较高,在某些通信系统中使用LDPC可能是不切实际的。
已经开发了技术以改进涡轮码和LDPC码的性能。举例来说,Li等人的“Product accumulate codes:a class of codes with near-capacityperformance and low decoding complexity”,IEEE Trans.Inform.Theory,第50卷,第31-46页(2004年1月),提出了积累加(product accumulate,PA)码,其是基于为SPC码的涡轮积或直接积的外代码字与卷积码的内代码字的串行级联(serial concatenation)而建构的。尽管此类技术减少了编码和解码处理的一些计算复杂度,但计算量可能仍然较高,且因此对例如高速无线通信和/或高密度储存应用的某些应用来说,可能是不理想的。同样,用于此类技术的交错器的存储器项目(memory entries)的大小可等于要编码的信息位的长度,这在编码过程期间可能需要使用较大量的存储器。在例如可携式通信装置的某些情况下,此类存储器要求可能是不切实际的或不理想的。
符合所揭示的实施例的某些特征的方法和系统旨在解决上文所陈述的问题中的一个或一个以上。
发明内容
本发明的一个方面包含用于信息处理应用的编码器。所述编码器可包含:输入,其经配置以提供需编码的信息位;前馈卷积外代码编码器,其经配置以编码所述信息位;至少一个第一交错器,其经配置以交错所述经编码的信息位;加法器,其经配置以根据所述第一交错器的输出产生奇偶位;第二交错器,其经配置以交错所述需编码的信息位和所述奇偶位,以便产生外代码字;以及基于码率为1的1/(1+D)累加码的内代码编码器,其经配置以编码所述外代码字以产生对应于经编码的信息位的一个或一个以上内代码字。
本发明的另一方面包含用于信息处理应用的解码器。所述解码器可包含输入、内解码器、外解码器、交错器、以及解交错器。输入经配置以提供接收到的需解码的信息,其中所述需解码的信息经过编码器的交错编码,所述需解码的信息在所述交错编码之前为代码字,在所述交错编码之后为交错编码位。交错器经配置以交错所述外解码器所产生的所述代码字的外在信息,以产生所述交错编码位的外在信息。解交错器经配置以解交错所述内解码器所产生的所述交错编码位的外在信息,以产生所述代码字的外在信息。内解码器用于码率1的1/(1+D)累加码,其经配置以基于接收到的对数拟然比和所述交错器所产生的所述交错编码位的外在信息来计算产生下一迭代的所述交错编码位的外在信息。外解码器经配置以基于所述解交错器所产生的所述代码字的外在信息来计算产生下一迭代的所述代码字的外在信息,其中所述外解码器包含基于可靠传递算法的解码器,且所述外解码器经过与所述内解码器之间的足够数目的迭代后产生经解码的信息位。
本发明的另一方面包含在信息处理应用中编码信息位的方法。所述方法可包含:获得需编码的信息位;使用前馈卷积外代码编码器来编码所述信息位;通过使用至少一个第一交错器来交错所述经编码的信息位;使用加法器以根据所述第一交错器的输出产生奇偶位;使用第二交错器以交错所述需编码的信息位和所述奇偶位,以便产生外代码字;以及通过使用基于码率为1的1/(1+D)累加码的内代码编码器来编码所述外代码字,以便产生对应于经编码的信息位的一个或一个以上内代码字。
为让本发明的上述和其它目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1说明含有符合本发明的某些实施例的示范性信息系统。
图2说明符合本发明的示范性编码器的方块图。
图3说明符合本发明的编码器的示范性配置。
图4说明符合本发明的编码器的另一示范性配置。
图5说明符合本发明的编码器的另一示范性配置。
图6说明符合本发明的编码器的另一示范性配置。
图7说明符合本发明的示范性解码器的方块图。
图8说明符合本发明的示范性编码和/或解码过程。
[主要元件标号说明]
100:信息系统
102:处理器
104:随机存取存储器
106:只读存储器
108:控制台
110:输入装置
112:通信接口
114:数据库
116:储存器
200:编码器
202:外代码编码器
204:交错器
206:内代码编码器
208:输入
210:输出
302:解多工器
304-1、304-2、304-m:生成多项式
306-1、306-2、306-m:交错器
308:加法器
310:交错器
312-1、312-2、312-m:系统输出
314:奇偶位
700:解码器
702:内解码器
704:外解码器
706:解交错器
708:交错器
710:决策装置
712:接收到的信息
714:原始消息位
802、804、806、808、810、812、814、816、818:步骤
具体实施方式
现将详细参考在附图中所说明的示范性实施例。在任何可能的地方,图示中始终使用相同的参考标号来代表相同或相似部分。
图1绘示含有符合本发明的某些实施例的示范性信息系统100。信息系统100可包含任何合适类型的信息处理系统,例如计算机系统、通信设备、数据储存系统和/或无线通信装置。信息系统100可处理经编码的信息,且可涉及对某些信息的编码和/或解码。
如图1中所示,信息系统100可包含处理器102、随机存取存储器(randomaccess memory,RAM)104、只读存储器(read-only memory,ROM)106、控制台108、输入装置110、通信接口112、数据库114和储存器116。应了解,所列装置的类型和数目仅为示范性的且不希望为限制性的。可改变所列装置的数目,可移除某些装置,且可添加其它装置。
处理器102可包含任何合适类型的通用微处理器、数字信号处理器、应用特定集成电路(application specific integrated circuit,ASIC)或微控制器。处理器102可执行计算机程序指令序列,以便执行各种信息处理功能,其中包含某些编码和/或解码功能。处理器102可耦合到或接入其它装置,例如RAM 104、ROM 106、控制台108、输入装置110、通信接口112、数据库114和/或储存器116,以便完成计算机程序指令的执行。
计算机程序指令可从只读存储器(ROM)106或从储存器116加载到RAM104中以由处理器102执行。储存器116可包含任何合适类型的大容量储存器,以储存处理器102可能需要用来执行处理/功能的任何类型的信息。举例来说,储存器116可包含一个或一个以上硬盘装置、光盘装置、软盘装置和/或其它储存装置以提供储存空间。
控制台108可提供图形用户接口(graphic user interface,GUI)或其它用户接口,以便将信息显示给信息系统100的使用者。控制台108可包含任何合适类型的信息显示装置或计算机监视器。可提供输入装置110以供所述使用者将信息输入到信息系统100中。输入装置110可包含袖珍键盘、键盘、鼠标或其它光学或无线输入装置等等。
数据库114可含有由处理器102使用的任何信息。数据库114可包含任何类型的商业或定制数据库。数据库114还可包含用于分析数据库中的信息的分析工具。
通信接口112可提供通信连接以使信息系统100能够与其它通信系统交换信息,和/或还可为要通过计算机网络(例如因特网)远程访问的信息系统100提供网络连接。
通信接口112可包含任何合适装置以提供一个或一个以上通信信道,例如无线通信信道、有线通信信道和/或光学通信信道。通信信道可能要求对通过通信信道交换的信息进行编码以改进信息的品质,例如减少的位错误率(bit error rate,BER)等等。因此,通信接口112和/或处理器102可提供编码器和/或解码器,其对通过通信信道交换的信息实施某些编码和/或解码功能。图2绘示符合本发明的示范性编码器的方块图。
如图2中所示,编码器200可包含外代码编码器202、交错器204和内代码编码器206。输入208可包含任何类型的信息数据,例如信息比特流或数据序列等等。输入208可提供到编码器200,且更明确地说,提供到外代码编码器202,以使得输入208的数据可被编码。经编码的信息数据可称为代码,其可还包含一组代码字。代码字可代表经编码的信息的一部分或由编码装置产生的经编码的信息的单元。由外代码编码器202编码的数据序列可由交错器204交错。经交错的经编码的数据序列可称为外代码字,且外代码字可进一步由内代码编码器206编码以产生内代码字。接着,内代码字可经处理和/或提供作为输出210。输出210可称为经编码的数据序列,且可进一步经处理或通过通信通道传输。
外代码编码器202可包含任何合适类型的编码器,例如区块编码器(block encoder)或卷积编码器。在某些实施例中,外代码编码器202可包含具有(1+D)形式的前馈卷积编码器,其中D可称为延迟单元。如本文所使用,前馈代码代表由前馈寄存器库(feedforward register bank)产生的代码,且卷积码代表通过使用当前数据位(current data bits)加上来自需编码的信息比特流的先前数据位中的一些数据位所建构的代码。还可使用其它类型的编码器。
交错器204可包含一个或一个以上合适的交错器,例如随机交错器、区块交错器(block interleaver)、对角线交错器(diagonal interleaver)和/或圆形移位交错器(circular-shifting interleaver)等等,用于交错数据序列,例如以一对一确定性格式(deterministic format)重新配置数据序列的次序。在信息数据序列由内代码编码器206进一步编码前,交错器204对由外代码编码器202编码的信息数据序列进行交错。两个编码器之间的经交错的数据序列(例如,外代码字)可增加由外代码编码器202提供的数据序列的各个数据块之间的解相关(decorrelation)。在某些情况下,交错器204可视作包含在外代码编码器202中。
另外,内代码编码器206也可包含任何合适类型的编码器,例如块编码器或卷积编码器。在某些实施例中,内代码编码器206包含具有1/(1+D)形式的码率1的递归卷积内代码编码器。然而,还可使用其它类型的编码器。另外,外代码编码器202、交错器204和内代码编码器206或编码器200可由硬件、计算机软件或硬件与计算机软件的组合来实施。如本文所使用,编码器(例如外代码编码器202、内代码编码器206等等)的码率(code rate)代表输入位的数目与输出位的数目的比率。举例来说,具有码率1的内编码器可指示输入位的数目等于输出位的数目。另外,级联编码系统(concatenatedcoding system)(例如编码器200)的码率等于内代码与外代码的码率的乘积。
图3中说明例如外代码编码器202、交错器204和内代码编码器206等等的编码器200的示范性配置。如图3中所示,输入208可包含大小为k=mr(k、m、r为整数)的信息位。可提供解多工器302以将信息位解多工成m个块,所述m个块中的每一个都具有r个信息位。外代码编码器202可包含低权数生成多项式(low weight generator polynomial)304-1,304-2,...和304-m,其中的每一个都分别个别地表示为gi(D),其中i=0,...,m-1。每个生成多项式gi(D)在本文都称为编码分支,且每个编码分支都分别耦合到对应的交错器306-1,306-2,...和306-m。另外,外代码编码器202可由系统生成矩阵[1,gi(D)]表示,其中i=0,...,m-1。
大小为r的每个块都可独立地由对应的生成多项式(例如对应地编码分支)来编码,且还可同时作为系统输出312-1,312-2,...,和312-m(例如m个块的信息位)。如本文所使用,系统输出代表原始信息位,例如具有r个信息位的解多工原始块。
另外,交错器204包含交错器306-1,306-2,...和306-m,其中的每一个都分别个别地表示为∏i,其中i=0,...,m-1,用于交错来自生成多项式304-1,304-2,...和304-m的各个输出。事实上,∏0可省略,而不会产生不利影响。同样,交错器204可还包含交错器310,表示为∏,所述交错器耦合到内代码解码器206,以便在外代码字由内代码编码器206编码前交错外代码字。来自交错器306-1,306-2,...和306-m的输出由加法器308求和,以便产生大小为r的奇偶位(parity bits)314。如本文所使用,奇偶位314代表用于通过通信信道传输的信息的错误检测和/或错误校正的冗余信息位。加法器308可使用任何合适类型的加法(例如模数-2加法等等)以计算来自交错器的输出的总和。
奇偶位314与系统输出312-1,312-2,...312-m级联以形成包含原始mr个信息位和r个奇偶位的(m+1)r个位的序列。(m+1)r个位的序列可进一步由交错器310交错。接着,经交错的(m+1)r个位的序列由内代码编码器206(例如,具有生成多项式p(D)的码率1卷积编码器)编码以产生输出210。
由编码器200(或编码器206)产生的代码字(例如输出210)可表示为(n,k)=((m+1)r,mr)线性代码,其中(n,k)代表接受具有k个信息位块且产生具有n个经编码的信息位(n-k个冗余位加到k个信息位)的块的线性代码。由编码器200产生的代码的码率计算为:
R=mr/(m+1)r=m/(m+1),其中m≥1。
另外,当m≥1时,R=m/(m+1)≥1/2,图3中所示的编码器200的配置可用于产生高码率代码,即码率R≥1/2。
图4绘示编码器200的另一示范性配置。在某些实施例中,如图4中所示,生成多项式304-1,304-2,...和304-m可选择为等于1+D,即gi(D)=1+D,其中i=0,...,m-1,且生成多项式p(D)可选择为1/(1+D)。由此配置产生的代码(例如输出210)在本文可称为单-前馈-寄存器卷积累加(single-feedforward-register convolutional accumulate,SFRCA)码。即,(1+D)形式的外代码字的实施由单前馈寄存器来实施,且所得代码为卷积累加码。
另外,外代码字的生成矩阵可在数学上表示为:
Figure GSB00000413918100081
其中∏0省略;Ir表示r×r单位矩阵;∏i,其中i=1,...,m-1,为交错器,例如列置换矩阵(row permutation matrix);且G1+D表示r×r二元生成矩阵,其等效于其中生成I+D舍位到长度r的卷积编码器。生成矩阵G1+D可在数学上表示为:
Figure GSB00000413918100091
另外,外代码字的奇偶校验矩阵可从等式(1)导出为:
H = G 1 + D T Π 1 T G 1 + D T . . . Π m - 1 T G 1 + D T I r - - - ( 3 )
从(2)和(3)中可观察到,H中1的数目较小,即奇偶校验矩阵H拥有较小密度的1。H的行权数(即行中的1的总数目)至多为2m+1,且其列权数(即列中的1的总数目)至多为2。从(3)中还可观察到,外代码字的最小汉明距离(Hamming distance)为2。举例来说,当m=1时,如从奇偶校验矩阵H的结构中可观察到,恰好存在权数2的一个代码字。
Figure GSB00000413918100093
的最后权数1行与单位矩阵Ir的最后权数1行相同,这表示外代码字的最小汉明距离为2。
尽管外代码字的最小汉明距离为2,但当代码长度n较大时,权数2外代码字的平均数目可仅为单个参数m的函数。在某些实施例中,交错器∏i,其中i=1,...,m-1,可为概率装置(probabilistic devices)并彼此独立。从奇偶校验矩阵(3)中可观察到,权数2外代码字的平均数目等于H中相同行对的平均数目。如果
Figure GSB00000413918100094
为汉明权数2的外代码字的数目,且r较大(即,当代码长度n=(m+1)r较大时),那么权数2外代码字的数目推导为:
A 2 C o = ( r - 1 ) 2 m 2 r 2 + m + m 2 r 1 = m ( m - 1 ) ( r - 1 ) r + m + m ( m - 1 ) 2 r = O ( m 2 ) - - - ( 4 )
因此,权数2外代码字的数目仅取决于参数m,其仅与所建构的代码的码率有关,而与块长度r无关。另外,权数2外代码字如下文所述完全消除。
当将每个(1+D)编码器的初始状态设定为每个块中的最后信息位的值,初始状态下的(1+D)编码器的位尾部格形(bit tailing trellis)与(1+D)编码器的最终状态下的位尾部格形变成相同。G1+D二元矩阵变成循环矩阵,其中[1,1,0,...,0]为第一列。另外,如果m=2,那么将不存在权数-2代码字。即使m>2,只要
Figure GSB00000413918100096
(通常是这样的情况),便有可能设计交错器∏1,...,∏m-1,以使得等式(3)的任何两行都彼此不同,以便为错误更正建构有效的代码。
在某些实施例中,编码器200还可经配置以执行低码率编码,以便产生具有码率R≤1/2的低码率代码。图5绘示用于低码率代码的编码器200的另一示范性配置。如图5中所示,输入208可包含r个信息位,而不是mr个信息位。所述r个信息位,即输入208,可复制m次,且复制的r个信息位中的每个信息位都可由交错器∏i(其中i=0,...,m-1,即交错器306-1,306-2,...和306-m)来交错。交错器306-1,306-2,...和306-m分别耦合在每个对应的分支编码器304-1,304-2,...和304-m与输入208之间。然而,实际上,∏0可省略,而不会产生任何不利影响。来自交错器306-1,306-2,...和306-m的经交错的位由具有生成多项式304-1,304-2,...和304-m(例如gi(D),其中i=0,...,m-1)的对应卷积码来编码,以便产生大小为mr个位的总的经编码的位。
总和经编码的mr个信息位和未经编码的r个信息位具有(m+1)r个位的大小。另外,来自外代码编码器202的(m+1)r个信息位进一步由交错器310(即∏)交错,且接着经交错的(m+1)r个信息位由内代码编码器206(例如具有生成p(D)的码率1卷积编码器)编码,以便产生大小为(m+1)r个信息位的输出210。因此,所建构的代码具有码率R=r/(m+1)r=1/(m+1)。因为m≥1,因此R≤1/2,所以图5中所示的编码器200的配置可用于产生低码率代码(即,具有码率R≤1/2的代码)。
图6绘示用于低码率代码的编码器200的另一示范性配置。在例如图6中所示的某些实施例中,与例如图4中所示的高比率编码器配置相似,生成多项式304-1,304-2,...和304-m可选择为与1+D相同,即gi(D)=1+D,其中i=0,...,m-1,且生成多项式p(D)可选择为1/(1+D),以便产生SFRCA代码。生成矩阵在数学上可表示为:
Glow=[Ir G1+D ∏1G1+D...∏m-1G1+D]  (5)
对等式(3)与等式(5)进行比较,可观察到低码率外代码字为高码率外代码字的对偶码(dual code)。在高码率代码的一个实施例中,m可设定为1,以使得外代码编码器202中不需要交错器。在高码率代码的另一实施例中,来自每个(1+D)编码器(即gi(D))的每个奇偶位可直接添加到交错器310的储存内容,以便可完全消除交错器306-1,306-2,...和306-m。
另外,输出210(例如由编码器200编码的信息位)可进一步通过通信接口112传输到其它通信系统。通信接口112和/或处理器102还可从其它通信系统接收由编码器200原始地编码的信息。通信接口112和/或处理器102还可提供一个或一个以上解码器,以便解码所接收到的经编码的信息位。图7绘示示范性解码器700的方块图。
如图7中所示,解码器700包含内解码器702、外解码器704、解交错器706、交错器708和决策装置710。解码器700可实施为任何合适类型的迭代解碼算法,例如可靠传递(belief propagation,BP)算法等等。解码器700还可用于执行硬决策解码(hard decision decoding),(例如)以便从所接收到的信息位中确定消息位(determine message bits)。
内解码器702可包含用于解码由内代码编码器206编码的信息的任何合适类型的解码器。举例来说,内解码器702可包含基于2状态BCJR算法的解码器,例如1974年L.R.Bahl等人在Optimal Decoding of Linear Codesfor Minimizing Symbol Error Rate,IEEE Trans.Inform.Theory,第20卷,第284-278页中所述的解码器,284-278,1974。另外,外解码器702可包含用于解码由外代码编码器202编码的信息的任何合适类型的解码器。举例来说,外解码器702可包含基于消息传递算法的解码器。
在某些实施例中,所接收到的信息712提供到解码器700以进行解码。接收到的信息712可能与由例如编码器200的特定编码器编码的原始消息有关。接收到的信息712还可基于特定调制机制而解调,且可从具有特定特征的通信信道传输。举例来说,接收到的信息712可以二进制相移键控(binaryphase shift keying,BPSK)来进行调便调制,且可通过加性白高斯噪声(additive white Gaussian noise,AWGN)通道来传输。然而,还可使用其它通道(例如,FIR滤波器通道等等)或调制机制。
接收到的信息712可基于原始消息位、编码器200(例如,外代码编码器202、内代码编码器206等等)、调制机制和/或信道特征来数学上地表示。举例来说,x=[x1,x2,...,xn]可用于表示来自外代码编码器202的代码字。x的最前k个位表示消息位,且最后n-k个位为奇偶位或奇偶校验位,例如冗余位。
另外,y=[y1,y2,...,yn]可为由交错器204交错的x的交错编码位(即,y=∏x)。交错的编码位y可由内代码编码器206(例如比率11/(1+D)卷积编码器)编码,以便产生经编码的位z=[z1,...,zn],其中zi=zi-1+yi,其中i=1,...,n,具有初始条件z0=0。在经由AWGN信道使用BPSK调制的实例中,BPSK调制器后的信号可表示为:
si=2zi-1
通道输出可表示为:
ri=sii
其中ηi为具有变量
Figure GSB00000413918100121
的零均值白高斯噪声(zero-mean white Gaussiannoise)。
接着,接收到的信息712可由LCH(ri)来表示,其中L代表外在信息。代码字x可由图表来结构上地表示。外在信息可代表接收到的代码字中的给定位的对数似然比(log-likelihood ratio,LLR)(其基于代码字中的所有其它位(给定位除外)的对数似然比)和代表性图表中的代码字的已知结构。给定位的对数似然比可称为内在信息。
LCH(ri)由内解码器702和外解码器704通过使用(例如)递归解码算法来解码。用于解码代码字x的解碼过程可为通过利用图表结构来找到具有最小总成本的代码字。在任何迭代(例如第q个迭代)处,内解码器702(例如,用于1/(1+D)累加码的解码器)可基于接收到的对数似然比(LLR)ri和来自先前迭代处的外解码器
Figure GSB00000413918100122
的外在信息来计算yi的外在信息,其通过:
L I → O q ( y i ) = g ( { L CH ( y i ) } i = 1 n , { L O → I q - 1 ( y i ) } i = 1 n ) ,
其中下标I→O表示从内解码器702传递到外解码器704的变数;下标O→I表示从外解码器704传递到内解码器702的变数;g(·,·)表示内解码器702的解码函数;
且LCH(yi)表示从具有
Figure GSB00000413918100124
的通道获得的LLR。
另外,若信道为AWGN信道,LCH(yi)可表示为
Figure GSB00000413918100125
Figure GSB00000413918100126
可由解交错器706解交错以产生
Figure GSB00000413918100127
解交错器通常执行交错器的相反操作。
同时,外解码器704可基于在外代码字的图表上执行BP算法,且可输出外在信息
Figure GSB00000413918100129
其中h(·)表示外解码器704的解码函数,其可通过在由(3)中给出的奇偶校验矩阵指定的双向图表上使用BP算法来实施。接着,外在信息可由交错器708来交错,且为下一迭代产生
Figure GSB00000413918100131
在足够数目的迭代Q后,外解码器704计算
Figure GSB00000413918100132
经解码的信息位。另外,决策装置710执行某些操作以产生原始消息位714,其通过
Figure GSB00000413918100133
其中i=1,...,k,
接着,原始消息位714(例如
Figure GSB00000413918100134
)提供到信息系统100且由信息系统100进一步处理。决策装置710可包含任何合适的逻辑装置,例如软件程序、硬件装置和/或两者的组合,其基于外在信息来确定原始消息位。
处理器102和/或通信接口112可使用编码器200和解码器700来与其它通信系统交换消息。举例来说,处理器102可执行某些软件程序以便为编码和/或解码目的而执行某些处理。图8绘示示范性编码和/或解码过程。
处理器102确定要用于编码和/或解码过程的编码码率(步骤802)。处理器102基于是使用高码率代码还是低码率代码来确定编码码率。处理器102还可基于来自信息系统100的使用者的输入或配置或者基于来自其它系统的交换信息来确定编码码率。在一个实施例中,处理器102为低码率代码确定1/2的码率,和/或为高码率代码确定32/33的码率。然而,可为高码率代码使用1/2与32/33之间的任何数字,例如3/4。
处理器102还确定要用于编码和/或解码过程的代码块大小(n,k)(步骤804)。处理器102可基于来自信息系统100的使用者的输入或配置或者基于来自其它系统的交换信息来确定代码块大小。在一个实施例中,处理器102将代码块大小确定为(n,k)=(1336,1002)、(5336,4002)和(21336,16002)中的一个。
另外,处理器102确定是执行编码过程还是解码过程(步骤806)。如果处理器102确定执行编码过程(步骤806;是),那么处理器102从例如硬件装置或软件应用的消息源获得需编码的原始消息(步骤808)。处理器102进一步将消息提供到编码器200以编码所述消息(步骤810)。在消息被编码后,处理器102使得经编码的消息被调制和/或在通信通道上传输(步骤812)。
另一方面,如果处理器102确定执行解码过程(步骤806,否),那么处理器102从通信通道获得所接收到的经编码的信息位,且如果所述信息位经过调制,那么解调制所述信息位(步骤814)。处理器102进一步将经编码的信息位提供到解码器700以解码经编码的信息位(步骤816)。在信息位被解码且原始消息被恢复后,处理器102呈现所述消息或将所述消息提供给信息系统100的使用者或提供给用于进一步处理的其它系统或应用(步骤818)。
通过应用最简单的(1+D)卷积码与码率1的1/(1+D)累加码的串行级联,所揭示的编码和解码方法和系统提供较低编码复杂度、实施简易性和较低存储器使用编码解决方案,且具有近容量,即近香农极限(shannon limit),噪声信道上的最大信息传输率的理论限制、错误率性能。此类方法和系统可用于各种通信领域中,尤其是移动通信。此类方法和系统还可用于例如光盘系统或储存系统等等的其它信息处理系统中。另外,所揭示的编码和解码方法和系统可与其它编码系统和/或编码方法组合使用,以便改进其它编码系统和/或编码方法的整体性能。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视所附的权利要求范围所界定者为准。

Claims (12)

1.一种用于信息处理应用的编码器,其包括:
输入,其经配置以提供需编码的信息位;
前馈卷积外代码编码器,其经配置以编码所述信息位;
至少一个第一交错器,其经配置以交错所述经编码的信息位;
加法器,其经配置以根据所述第一交错器的输出产生奇偶位;
第二交错器,其经配置以交错所述需编码的信息位和所述奇偶位,以便产生外代码字;以及
基于码率1的1/(1+D)累加码的内代码编码器,其经配置以编码所述外代码字,以便产生对应于所述经编码的信息位的一个或一个以上内代码字。
2.根据权利要求1所述的编码器,其还包含:
输出,其经配置以提供所述内代码字,以供调制和传输。
3.根据权利要求1所述的编码器,其中:
如果m和r为整数,且所述需编码的信息位的长度为mr,且i为整数,那么所述外代码编码器还包含:
由gi(D)=1+D,其中i=0,...,m-1表示的m数目的分支编码器,每个分支编码器经配置以对所述需编码的信息位其中长度为r的一部分进行编码。
4.根据权利要求3所述的编码器,其中:
所述至少一个第一交错器包含m数目的第一交错器;以及
所述m数目的分支编码器分别与所述m数目的第一交错器一一对应耦合,以使得来自每个分支编码器的输出由所述分别耦合的第一交错器交错。
5.根据权利要求4所述的编码器,其中:
所述加法器将来自所述m数目的第一交错器的输出全部相加以产生所述奇偶位。
6.一种用于信息处理应用的解码器,其包括:
输入,其经配置以提供接收到的需解码的信息,其中所述需解码的信息经过编码器的交错编码,所述需解码的信息在所述交错编码之前为代码字,在所述交错编码之后为交错编码位;
内解码器;
外解码器;
交错器,其经配置以交错所述外解码器所产生的所述代码字的外在信息,以产生所述交错编码位的外在信息;以及
解交错器,其经配置以解交错所述内解码器所产生的所述交错编码位的外在信息,以产生所述代码字的外在信息,其中
所述内解码器用于码率1的1/(1+D)累加码,所述内解码器经配置以基于接收到的对数拟然比和所述交错器所产生的所述交错编码位的外在信息来计算产生下一迭代的所述交错编码位的外在信息;
所述外解码器经配置以基于所述解交错器所产生的所述代码字的外在信息来计算产生下一迭代的所述代码字的外在信息,所述外解码器包含基于可靠传递算法的解码器,且所述外解码器经过与所述内解码器之间的足够数目的迭代后产生经解码的信息位。
7.根据权利要求6所述的解码器,其还包含:
决策装置,其经配置以基于所述经解码的信息位来确定原始消息位。
8.根据权利要求7所述的解码器,其还包含:
输出,其经配置以将所述原始消息位提供给其它应用。
9.一种用于在信息处理应用中编码信息位的方法,其包括:
获得需编码的所述信息位;
使用前馈卷积外代码编码器来编码所述信息位;
通过使用至少一个第一交错器来交错所述经编码的信息位;
使用加法器以根据所述第一交错器的输出产生奇偶位;
使用第二交错器以交错所述需编码的信息位和所述奇偶位,以便产生外代码字;以及
通过使用基于码率1的1/(1+D)累加码的内代码编码器来编码所述外代码字,以便产生对应于所述经编码的信息位的一个或一个以上内代码字。
10.根据权利要求9所述的编码信息位的方法,其中如果m和r为整数,且所述需编码的信息位的长度为mr,且i为整数,那么对所述需编码的信息位的所述编码还包含:
将所述外代码编码器配置为由gi(D)=1+D,其中i=0,...,m-1表示的m数目的分支编码器;以及
通过使用所述m数目的分支编码器,对所述需编码的信息位进行编码,其中每个分支编码器对所述需编码的信息位其中长度为r的一部分进行编码。
11.根据权利要求10所述的编码信息位的方法,其还包含:
所述至少一个第一交错器包含m数目的第一交错器,所述m数目的分支编码器分别与所述m数目的第一交错器一一对应,每个分支编码器分别耦合在所述输入与对应的第一交错器之间,以使得每个分支编码器的输出由对应的第一交错器交错。
12.根据权利要求9所述的编码信息位的方法,其还包含:
设定值在1/2与32/33之间的码率。
CN2007100014926A 2006-03-17 2007-01-10 编码与解码的方法及系统 Expired - Fee Related CN101039119B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US78305206P 2006-03-17 2006-03-17
US60/783,052 2006-03-17
US11/489,474 US7774689B2 (en) 2006-03-17 2006-07-20 Encoding and decoding methods and systems
US11/489,474 2006-07-20

Publications (2)

Publication Number Publication Date
CN101039119A CN101039119A (zh) 2007-09-19
CN101039119B true CN101039119B (zh) 2011-05-18

Family

ID=37547068

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007100014926A Expired - Fee Related CN101039119B (zh) 2006-03-17 2007-01-10 编码与解码的方法及系统

Country Status (4)

Country Link
US (1) US7774689B2 (zh)
EP (1) EP1835625B1 (zh)
CN (1) CN101039119B (zh)
TW (1) TWI330005B (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008282178A (ja) * 2007-05-09 2008-11-20 Toshiba Corp 産業用コントローラ
GB0710766D0 (en) * 2007-06-05 2007-07-18 Cambridge Silicon Radio Ltd A convolutional decoder and method of decoding
CN103281091B (zh) * 2007-09-28 2017-10-27 松下电器产业株式会社 编码方法、编码器、解码器、发送装置和接收装置
US8397125B2 (en) * 2008-12-31 2013-03-12 Stmicroelectronics, Inc. Encoding apparatus, system, and method using low density parity check (LDPC) codes
KR101570472B1 (ko) * 2009-03-10 2015-11-23 삼성전자주식회사 연접 부호화 및 복호화 구조를 갖는 데이터 처리 시스템
CN102325007B (zh) * 2011-08-10 2013-12-04 华为技术有限公司 基于脏纸编码dpc的译码方法和译码装置
US9397786B2 (en) 2012-02-20 2016-07-19 Tyco Electronics Subsea Communications Llc System and method including modified bit-interleaved coded modulation
CN102916707B (zh) * 2012-10-10 2016-02-24 北京邮电大学 兼容卷积码生成多项式确定方法、编码方法及编码器
US8972826B2 (en) 2012-10-24 2015-03-03 Western Digital Technologies, Inc. Adaptive error correction codes for data storage systems
KR102002559B1 (ko) 2013-07-05 2019-07-22 삼성전자주식회사 송신 장치 및 그의 신호 처리 방법
KR20150005853A (ko) 2013-07-05 2015-01-15 삼성전자주식회사 송신 장치 및 그의 신호 처리 방법
CA2922121A1 (en) * 2013-08-23 2015-02-26 Sirius Xm Radio Inc. Parameterized interleaver for a multi-rate system
US9407398B2 (en) 2013-09-08 2016-08-02 Tyco Electronics Subsea Communications Llc System and method using cascaded single partity check coding
US9337935B2 (en) 2013-09-08 2016-05-10 Tyco Electronics Subsea Communications Llc Coded modulation for small step-size variable spectral efficiency
CN107437946A (zh) * 2014-09-10 2017-12-05 上海数字电视国家工程研究中心有限公司 Ldpc码的编码方法
CN108156838B (zh) * 2015-10-09 2021-02-12 华为技术有限公司 用于编码数据的方法和装置
EP3211798B1 (en) * 2015-10-13 2019-12-04 Huawei Technologies Co., Ltd. Device and method for quantized decoding of ldpc codes
US10312945B2 (en) * 2017-02-13 2019-06-04 Lg Electronics Inc. Channel coding method using concatenated code structure and apparatus therefor
EP3688879B1 (en) * 2017-09-28 2024-06-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Transmission of data by multiple users over shared resources
EP3871337A1 (en) * 2018-10-22 2021-09-01 IDAC Holdings, Inc. Methods and apparatus for error-correcting difference-triangle-set product convolutional codes

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1561598A (zh) * 2002-05-10 2005-01-05 连宇通信有限公司 一种串行级联卷积码内交织的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343539B2 (en) * 2005-06-24 2008-03-11 The United States Of America As Represented By The United States National Aeronautics And Space Administration ARA type protograph codes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1561598A (zh) * 2002-05-10 2005-01-05 连宇通信有限公司 一种串行级联卷积码内交织的方法及装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CN 1561598 A,全文.
KRISHNA R NARAYAMAN.a serial concatenation approach to iterative demodulation anddecoding.IEEE TRANSACTIONS ON COMMUNICATIONS47 7.1997,47(7),956-961.
KRISHNA R NARAYAMAN.a serial concatenation approach to iterative demodulation anddecoding.IEEE TRANSACTIONS ON COMMUNICATIONS47 7.1997,47(7),956-961. *
NEFEDOV N.comparison of low complexity turbo-like coding structures.IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS1.2001,150-54. *

Also Published As

Publication number Publication date
US20070226598A1 (en) 2007-09-27
EP1835625A1 (en) 2007-09-19
US7774689B2 (en) 2010-08-10
CN101039119A (zh) 2007-09-19
TWI330005B (en) 2010-09-01
TW200737737A (en) 2007-10-01
EP1835625B1 (en) 2013-04-03

Similar Documents

Publication Publication Date Title
CN101039119B (zh) 编码与解码的方法及系统
EP2239854B1 (en) Shortening and puncturing of low-density parity-check (LDPC) codes for channel decoding
JP4555333B2 (ja) 可変符号化率を有するブロック低密度パリティ検査符号の符号化/復号装置及び方法
EP0897223B1 (en) High-performance low-complexity error-correcting codes
US8261152B2 (en) Apparatus and method for channel encoding/decoding in communication system using variable-length LDPC codes
EP2169836B1 (en) Low-density parity check convolution code (ldpc-cc) encoder and ldpc-cc decoder
US8321745B2 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
JP5506879B2 (ja) 低密度パリティ検査符号を使用する通信システムのチャネル復号化装置及び方法
US20110164705A1 (en) Bit mapping scheme for an ldpc coded 32apsk system
US20030165199A1 (en) System and method for reviving catastrophic codes
CN101150377A (zh) 用于低密度奇偶校验编码的32apsk系统的比特映射方案
EP1901436A2 (en) Bit mapping scheme for an LDPC coded 16APSK system
Satybaldina et al. New concatenation schemes based on the multithreshold decoders of convolutional self-orthogonal codes for gaussian channels
US20110173509A1 (en) Bit mapping scheme for an ldpc coded 16apsk system
Hanif Design of Single Kernel Polar Codes with Exible Lengths
Barry et al. Error Control
Jin et al. Hybrid list decoding and Kaneko algorithm of Reed–Solomon codes
CN101150552A (zh) 用于低密度奇偶校验编码的16apsk系统的比特映射方案

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: 20110518