CN101023585A - 用于编码具有r=2的rmtr约束条件的代码的编码器和方法 - Google Patents

用于编码具有r=2的rmtr约束条件的代码的编码器和方法 Download PDF

Info

Publication number
CN101023585A
CN101023585A CNA2005800310986A CN200580031098A CN101023585A CN 101023585 A CN101023585 A CN 101023585A CN A2005800310986 A CNA2005800310986 A CN A2005800310986A CN 200580031098 A CN200580031098 A CN 200580031098A CN 101023585 A CN101023585 A CN 101023585A
Authority
CN
China
Prior art keywords
encoding state
bit
classification
requires
subcode
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.)
Granted
Application number
CNA2005800310986A
Other languages
English (en)
Other versions
CN101023585B (zh
Inventor
W·M·J·M·科恩
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN101023585A publication Critical patent/CN101023585A/zh
Application granted granted Critical
Publication of CN101023585B publication Critical patent/CN101023585B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • G11B20/1423Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
    • G11B20/1426Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/14Digital recording or reproducing using self-clocking codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
    • H03M5/145Conversion to or from block codes or representations thereof
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • G11B20/1423Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
    • G11B20/1426Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
    • G11B2020/145317PP modulation, i.e. the parity preserving RLL(1,7) code with rate 2/3 used on Blu-Ray discs

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

当前已知的编码器具有包括降低比特检测器的性能的接连的2T个运行的长串。通过使用具有2的RTMR约束条件的代码,得到比特检测的改进。给出以系统方式构建的、提供2的RTMR约束条件的代码。公开了这样的代码的几个版本,其中使用一个或多个子代码,其中编码状态被划分成按照对于最前面的比特的或多或少的严格的约束条件排序的编码类别,以及其中码字被划分成按照对于结尾比特的或多或少的严格的约束条件排序的码字类型。然后,对于给定的子代码,类型t的码字可以与下一个子代码的码字级联,如果所述下一个子代码的所述以后的码字属于具有下标Tmax+1-t的编码类别的一个编码状态的话。

Description

用于编码具有R=2的RMTR约束条件的代码的 编码器和方法
引言
本发明涉及藉助于总的信道码把用户比特流变换成编码的比特流的方法,涉及使用藉助于总的信道码把用户比特流变换成编码的比特流的所述方法的记录设备,以及涉及用于对使用藉助于总的信道码把用户比特流变换成编码的比特流的所述方法进行编码的用户比特流进行译码的重放设备。
背景技术
在运行长度限制编码的文献中,重复最大转移运行,即,RMTR,约束条件常常被称为MRT约束条件。原先地,由Moon和B.Bricker在“Maximum transition run codes for data storage systems(数据存储系统的最大转移运行码)”,IEEE Transactions on Magnetics,Vol.32,No.5,pp.3992-3994,1996中引用的最大转移运行(MTR)约束条件(对于d=0情形)规定了NRZ比特流中接连的“1”的最大数目(其中“1”表示在相关的双极性信道比特流中的转移)。等价地,在(双极性)NRZI比特流中,MTR约束条件限制接连的1T运行的数目。如上面所讨论的那样,MRT约束条件也可以与d-约束条件相组合,在这种情形下,MTR约束条件限制接连的最小运行长度的数目,正如对于被使用于蓝色射线盘(BD)格式的17PP代码的那种情形。在MTR码的使用的背后的基本概念是消除所谓的主要错误图案,即,在用于高密度记录的局部响应最大或然率(PRML)序列检测器中造成大多数错误的那些图案。对于d=0把接连的转移的数目限制到至多为2的一种高度有效的比值16→17MTR码已经由T.Nishiya,K.Tsukano,T.Hirai,T.Nara,S.Mita在“Turbo-EEPRML:An EEPRML channel with an errorcorrecting post-processor designed for 16/17 rate quasi MTR code(具有16/17比值伪MTR码设计的纠错后处理器的EEPRML信道)”,Proceedings Globecom’98,Sydney,pp.2706-2711,1998中描述。有利于RMTR约束条件的另一个讨论是,限制Viterbi(PRML)比特检测器的后向跟踪深度(或后向轨迹深度)。US5943368的公开内容针对把数据编码成禁止生成单个频率分量(它可以是(最小)运行长度的长的重复)的信道比特流。
RMTR约束条件最近在光学记录界重新赢得某些兴趣。在K.Kayanuma,C.Noda and T.Iwanaga,“Eight to Twelve ModulationCode for High Density Optical Disk(高密度光盘的八到十二调制代码)”,Technical Digest ISOM-2003,Nov.3-7 2003,Nara,Japan,paperWe-F-45,pp.160-161中公开的ETM代码具有d=1,k=10,r=5约束条件,这个r约束条件正好比17PP的RMTR小1。对于d=1和RMTRr=2,理论的香农(Shannon)容量等于:
C(d=1,k=∞,r=2)=0.679286.  (1)
所以,具有优于2/3的比值的代码仍旧是可行的。对于甚至更积极进取的RMTR约束条件r=1,理论的香农容量等于:
C(d=1,k=∞,r=1)=0.650900.  (2)
这表明r=2是对于一个其比值不低于17PP代码的比值的代码的可能最低的RMTR约束条件。
最近,在K.A.S.Schouhamer Immink,“Method and Apparatus forCoding Information,Method and Apparatus for Decoding CodedInformation,Method of Fabricating a Recording Medium,theRecording Medium and Modulated Signal(对信息编码的方式和设备,对编码的信息译码的方法和设备,制造记录媒体的方法,记录媒体和已调制的信号)”,PCT Patent WO02/41500A1,International FilingDate 11 November 2000,和在K.A.S.Immink,J.-Y.Kim,S.-W.Suh,S.K.Ahn,“Efficient dc-Free RLL Codes for Optical Recording(用于光记录的有效dc-自由RLL代码)”,IEEE Transactions on Communications,Vol.51,No.3,pp.326-331,March 2003中,公开某些非常有效的d=1代码,其具有非常接近于对于d=1的、被给出为C(d=1,k=∞,r=∞)=0.6942的香农容量的码比值。作为例子,已经实现了一个具有R=9/13的比值的代码,它具有码效率η=R/C,从而使1-η=0.28%。然而,这些非常有效的RLL码受到缺乏RMTR约束条件(r=∞)的损害;所以,后者即9到13d=1代码不能产生由具有r=2的d=1代码所提供的5%的实际的容量收益(通过已适配的PRML序列检测)。
由RMTR约束条件带来的性能增益已对从蓝光盘(BD)系统得到的高密度光记录信道进行实验性研究。实验是通过使用增加密度的BD可重写系统进行的,该系统具有的光盘容量从标准的23.3-25-27GB增加到35GB。采用了PRML(Viterbi)比特检测。
Viterbi比特检测器的性能已根据顺序的幅度余量(SAM)分析进行了测量。在大约35GB的相关的容量范围中,在SAMSNR装置中的1dB增益意味着几乎6%的盘容量增加。
具有不同的RMTR约束条件的信道码已被互相进行比较。为了把由于所施加RMTR约束条件而导致的读信道性能增益与相应的写信道增益分隔开,使用了两种不同的Viterbi比特检测器:一个检测器知道RMTR约束条件,另一个不知道。在第二种情形下,性能增益可以仅仅是由于在盘上写入的数据的改进的频谱内容造成的(这样,它更好地匹配于所使用的写信道的特性)。
当利用具有RMTR约束条件r=6的17PP信道码(正如在BD系统中使用的)时,对于知道RMTR的和不知道RMTR的比特检测器都得到11.66dB的SAMSNR,即,在读信道上没有观察到与RMTR有关的性能增益。当使用具有r=2的信道码时,对于知道RMTR的和不知道RMTR的比特检测器分别得到12.55dB和12.07dB的SAMSNR。正如可以看到的,对于r=6的情形,得到约0.9dB的总的与RMTR有关的SAMSNR增加,这相应于约5%盘容量增加。
现有技术的缺点
在远超过蓝光盘(例如,33-37GB范围的12厘米盘的容量)的25GB的d=1受约束的存储系统的非常高的密度下,接连的2T运行是比特检测的Achilles的根部。被两侧的较大的运行长度限制的这样的2T运行的序列被称为2T系列(train)。
当前,蓝光盘的17PP码具有r=6的所谓的RMTR约束条件(重复最大转移运行长度),这意味着,接连的最小运行长度的数目限于6,或等价地,2T系列的最大长度是12信道比特。17PP码是基于用于DC控制的奇偶校验保持原理。
当前已知的各种代码的缺点在于,这些包含接连的2T运行的长的系列降低比特检测器的性能。
发明目的
所以,本发明的目的是提供改进比特检测器的性能的、具有特别地选择的约束条件的代码。
解决方案
这个目的是由本发明通过执行以下步骤达到的:
-把M比特信息字变换成N比特码字;
-所述总的信道码通过以预定的重复周期按循环重复次序对S个子代码进行级联而实现,其中每个子代码接收mi比特信息字,其中mi是对于每个被变换成ni比特码字的子代码的整数特征,其中ni是对于每个子代码的整数特征,以及其中对于每个子代码,所述特征整数ni大于所述特征整数mi,这样,在所述重复周期内所有的子代码的mi数的总和等于M,以及在所述重复周期内所有的子代码的ni数的总和等于N,以及:
-对于每个子代码,它的ni比特码字被划分成Tmax个不同的码字类型,并被安排成Tmax个编码类别的编码状态,这样,对于给定的子代码,类型t的n比特码字(其中t是在1与Tmax之间的整数)可以与下一个子代码的ni+1比特码字级联,如果所述下一个子代码的所述以后的码字属于具有下标Tmax+1-t的编码类别的编码状态之一。
使用与对于17PP的r=2的减小的RMTR约束条件相同的d=1约束条件,为比特检测提供更好的性能。比特性能检测被大大地改进,它进而比利用r=6的17PP编码能够得到很大的容量增加(约5%)。另外,通过更有效得多的代码构建可以实现1.25%并且直到1.4%的额外容量增加,产生比起17PP代码的R=2/3更好的码比值。
为了构建这样的代码,把代码划分成多个子代码,它们一起形成总的代码。子代码以顺序的次序被使用,并且循环地重复。每个子代码被使用来处理接收的一个mi比特信息字,把mi比特信息字变换成ni比特码字。这保证把信息字系统地编码成码字。为了保证d约束条件连同r约束条件一起被遵从,将ni比特码字划分成Tmax个不同的码字类型,并安排成Tmax个编码类别的编码状态,这样,对于给定的子代码,类型t的ni比特码字(其中t是在1与Tmax之间的整数)可以与下一个子代码的ni+1比特码字级联,如果所述下一个子代码的所述以后的码字属于具有下标Tmax+1-t的编码类别的编码状态之一的话。码字类型因此规定哪个编码类别被使用来从其中选择编码状态。通过规定编码类别的这种选择,使用下一个代码来执行将下一个信息字编码成代码字,从而使得该码字在被附加到当前的码字时遵从d约束条件以及r约束条件。
在该方法的实施例中,码字类型由所述码字的结尾比特的数目来确定。
码字的结尾比特可被使用来确定码字类型,因为码字的结尾比特对于具有那些结尾比特的码字与被级联到码字的结尾比特的下一个码字的级联的d约束条件和r约束条件的遵从具有重大的影响。
在该方法的另一个实施例中,码字类型由所述码字的所有的比特连同至少一个以前的码字的多个比特一起被确定。
当码字的尺寸与受r约束条件影响的比特的数目相比较是相对较短时,单个码字不再具有足够的(结尾)比特来唯一地规定码字类型。为了解决这个问题,多个码字可以一起被看作为一个集,这个集的结尾比特然后规定该集的码字类型,以用于确定要被使用于得到下一个码字的编码类别。
在该方法的再一个实施例中,级联的N比特码字满足dkr约束条件,其中d和k分别是指在编码的比特流中两个接连的1比特之间的0比特的最小数目和最大数目,其中r表示每次在1比特前的0比特的接连的最小运行的最大数目。
k约束条件的引入允许使代码改进地适配于信道,以便例如用于接收机中需要的适配的控制环,如对于时序恢复所需要的那样。
在该方法的再一个实施例中,不同的码字类型和非空的编码类别的数目(其中非空的编码类别被规定为具有至少一个编码状态,其数目被表示为T)不大于Tmax=1+(d+1)×(r+1)。
把非空编码类别的数目限制到小于或等于Tmax的T的数值(该Tmax由公式Tmax=1+(d+1)×(r+1)通过d约束条件和r约束条件来确定)允许设计出以最小量的编码类别和编码状态来满足d和r约束条件的紧凑和有效的代码,这与其中编码类别的数目等于它的最大值Tmax的情形相比较,减小复杂性。
在该方法的再一个实施例中,被表示为T的不同的码字类型和非空的编码类别的数目等于Tmax=1+(d+1)×(r+1)。在一个不具有空编码类别的代码的情形下,对于编码类别的最佳数目T的公式是1+(d+1)×(r+1),这样,T等于Tmax
在具有约束条件d=1和r=2的方法的再一个实施例中,Tmax等于7。
按照本发明的具有约束条件d=1和r=2的代码可以用7个代码类别的最大值来实现,因此限制编码类别,以便限制编码和译码的复杂性。
在该方法的再一个实施例中,T=Tmax=7和子代码的数目S等于6。
对于约束条件d=1和r=2,编码类别的最大数目是7,并且可以构建只使用6个子代码的代码,因此进一步限制编码和译码的复杂性。
在该方法的再一个实施例中,六个子代码中的五个子代码具有一个m=8和n=12的映射,第六子代码具有一个m=8和n=11的映射。使用一个具有不同于另外五个子代码的映射的映射的至少一个子代码允许编码比值被调节成与其中所有的子代码的所有的映射都相同的情形相比,更接近于信道容量。
最终得到的总的代码因此更接近地近似于信道容量,从而导致更有效地使用可得到的信道容量。
在该方法的再一个实施例中,T=Tmax=7和子代码的数目S等于3。
已经发现,可以只通过使用一组三个子代码构建具有7个编码类别的代码。这再次允许限制编码和译码的复杂性。
在该方法的再一个实施例中,三个子代码中的两个子代码具有m=9和n=13,第三子代码具有m=9和n=14。
使用具有不同于另外两个子代码的映射的映射的至少一个子代码允许编码比值被调节成,与其中所有的子代码的所有的映射都相同的情形相比,更接近于信道容量。最终得到的总的代码因此更接近地近似于信道容量,从而导致更有效地使用可得到的信道容量。
在该方法的再一个实施例中,T=Tmax=7和子代码的数目S等于1。
已经发现,可以只通过使用一子代码构建具有7个编码类别的代码。这再次允许限制编码和译码的复杂性。
在该方法的再一个实施例中,子代码具有m=4和n=6的映射。
具有m=4和n=6的映射造成复杂性的显著的减小,并允许软判决译码。
在该方法的再一个实施例中,子代码具有m=2和n=3的映射。
具有m=2和n=3的映射造成复杂性的显著的减小,并允许软判决译码。
在该方法的再一个实施例中,对于每个子代码,编码状态的所述T≤Tmax个非空的编码类别中的每个编码类别包括p1,p2,...,pmax编码状态,其中微不足道的空的编码类别被忽略,这样,对于表示非空的编码类别的状态的非零数目的数目p1≤p2≤...≤pmax(其中pmax给出所述考虑的子代码的编码状态的总数),给定的考虑的类别“i”的pi个编码状态的每个编码状态也是一个具有大于“i”的下标的所有的类别的编码状态。
在其中d=1和r=2的方法的再一个实施例中,对于每个子代码,通过以下的法则组规定对于不同的码字类型的结尾比特,即
第一类型的n比特码字以“00”结尾,
第二类型的n比特码字以“0010”结尾,
第三类型的n比特码字以“001010”结尾,
第四类型的n比特码字以“00101010”结尾,
第五类型的n比特码字以“001”结尾,
第六类型的n比特码字以“00101”结尾,
第七类型的n比特码字以“0010101”结尾,
以及其中属于不同的编码类别的码字的最前面的比特通过以下的法则组被确定,即
第一类的编码状态的n比特码字以“00”开始,
第二类的编码状态的n比特码字以“00”或“0100”开始,
第三类的编码状态的n比特码字以“00”,“0100”或“010100”开始,
第四类的编码状态的n比特码字以“00”,“0100”,“010100”或“01010100”开始,
第五类的编码状态的n比特码字以“00”,“0100”,“010100”,“01010100”或“100”开始,
第六类的编码状态的n比特码字以“00”,“0100”,“010100”,“01010100”,“100”或“10100”开始,
第七类的编码状态的n比特码字以“00”,“0100”,“010100”,“01010100”,“100”,“10100”或“1010100”开始。
通过使用具有7个编码类别的带有约束条件d=1和r=2的代码把信息字变换成码字的方法,导致一组由码字的结尾比特规定的码字类型和一组包括由该编码状态产生的码字的最前面的比特规定的编码状态的编码类别。
在该方法的再一个实施例中,在以上的6个子代码和8比特输入字的情形下,对第一子代码而言,对于T=7个类别的编码状态的每个类别的编码状态的数目分别为p1=11,p2=15,p3=17,p4=17,p5=24,p6=27,和p7=28,和其中对第二子代码而言,对于该7个类别的编码状态的每个类别的编码状态的数目分别为p1=10,p2=14,p3=15,p4=16,p5=22,p6=25,和p7=26,和其中对第三子代码而言,对于该7个类别的编码状态的每个类别的编码状态的数目分别为p1=9,p2=13,p3=14,p4=14,p5=20,p6=23,和p7=24,和其中对第四子代码而言,对于该7个类别的编码状态的每个类别的编码状态的数目分别为p1=8,p2=11,p3=13,p4=13,p5=19,p6=21,和p7=22,和其中对第五子代码而言,对于该7个类别的编码状态的每个类别的编码状态的数目分别为p1=8,p2=11,p3=12,p4=12,p5=17,p6=19,和p7=20,和其中对第六子代码而言,对于该7个类别的编码状态的每个类别的编码状态的数目分别等于p1=7,p2=10,p3=11,p4=12,p5=16,p6=18,和p7=19。
对于使用6个子代码的编码方法,这些是每个子代码的每个编码类别的编码状态的数量。该设计被选择成使得在所有的子代码上考虑的编码状态的最大数目被最小化。
每个子代码包括相同的数量的编码类别,但编码类别包括不同的数目的编码状态,这要取决于所考虑的子代码。正如以上可以看到的,对每个子代码而言,对于每个编码类别的编码状态的数目连同对于该子代码的编码类别的数目一起增加。
在该方法的再一个实施例中,在以上的3个子代码和9比特输入字的情形下,对第一子代码而言,对于T=7个类别的编码状态的每个类别的编码状态的数目分别为p1=7,p2=10,p3=11,p4=11,p5=16,p6=18,和p7=19,和其中对第二子代码而言,对于该7个类别的编码状态的每个类别的编码状态的数目分别为p1=8,p2=12,p3=13,p4=13,p5=19,p6=21,和p7=22,和其中对第三子代码而言,对于该7个类别的编码状态的每个类别的编码状态的数目分别等于p1=10,p2=14,p3=15,p4=16,p5=22,p6=25,和p7=26。
对于使用3个子代码的编码方法,这些是每个子代码的每个编码类别的编码状态的数量。
在该方法的再一个实施例中,在以上的单个子代码和4比特输入字的情形下,对于T=7个类别的编码状态的每个类别的编码状态的数目分别为p1=3,p2=4,p3=5,p4=5,p5=7,p6=8,和p7=8。对于使用单个子代码的编码方法,这些是每个编码类别的编码状态的数量。该设计被选择成使得在所有的子代码上考虑的编码状态的最大数目被最小化。
在该方法的再一个实施例中,有限的k约束条件通过额外编码状态被实现。引入额外编码状态允许方法选择新的编码状态,以便在全0码字从该状态被发出的情形下开始编码下一个信息字,在没有额外状态的代码中,将发出下一个全0码字。有限状态机然后可以通过使用额外编码状态被设计成保证有限的k约束条件被自动满足。
在该方法的再一个实施例中,在以上的单个子代码和2比特输入字的情形下,非无足轻重的编码类别的数目T等于6,其编码类别号是空的类别,产生出p4=0,以及其中对于编码状态的6个非无足轻重编码类别的每个类别的编码状态的数目分别为p1=2,p2=2,p3=3,p5=4,p6=5,和p7=5。
这是包括一个不具有编码状态的编码类别(即空的编码类别)的编码方法的实施方案。选择具有编码状态的指示号的这个编码类别组允许构建一个具有“2-到-3”映射的有效的代码。“2-到-3”映射允许有效地实施软判决,因为它在从有限状态机的每个状态出发的分支的数目方面(该数目等于2m)减小了复杂性。
在该方法的再一个实施例中,奇偶校验保存特性通过多个额外编码状态被实现。
编码类别中的额外编码状态提供一个新的额外的编码状态,只要在当前的状态中奇偶校验保存特性被违反时,它就可以被使用,这样,总的说来得到奇偶校验保存代码。
在该方法的再一个实施例中,有限的k约束条件通过在代码的基本的“2到3”映射的顶部上的额外编码框架(shell)而被实现。
在具有约束条件d=2和r=2的方法的再一个实施例中,Tmax等于10。
对于10个编码类别,可以构建用于把信息字变换成遵从约束条件d=2和r=2的码字的方法。
在该方法的再一个实施例中,编码类别的数目T等于编码类别的最大数目Tmax,该Tmax等于10,以及子代码的数目S等于4。
在该方法的再一个实施例中,四个子代码的三个子代码具有m=8和n=15的映射,以及第四个子代码具有m=8和n=14的映射。这允许很接近地近似于信道容量。
在其中d=2和r=2的方法的再一个实施例中,对于每个子代码,通过以下的法则组规定对于不同的码字类型的结尾比特,即
第一类型的n比特码字以“000”结尾,
第二类型的n比特码字以“000100”结尾,
第三类型的n比特码字以“000100100”结尾,
第四类型的n比特码字以“000100100100”结尾,
第五类型的n比特码字以“00010”结尾,
第六类型的n比特码字以“00010010”结尾,
第七类型的n比特码字以“00010010010”结尾,
第八类型的n比特码字以“0001”结尾,
第九类型的n比特码字以“0001001”结尾,
第十类型的n比特码字以“0001001001”结尾,
以及其中属于不同的编码类别的码字的最前面的比特通过以下的法则组被确定,即
第一类的编码状态的n比特码字以“000”开始,
第二类的编码状态的n比特码字以“000”或“001000”开始,
第三类的编码状态的n比特码字以“000”,“001000”或“001001000”开始,
第四类的编码状态的n比特码字以“000”,“001000”,“001001000”或“001001001000”开始,
第五类的编码状态的n比特码字以“000”,“001000”,“001001000”,“001001001000”或“01000”开始,
第六类的编码状态的n比特码字以“000”,“001000”,“001001000”,“001001001000”,“01000”或“01001000”开始,
第七类的编码状态的n比特码字以“000”,“001000”,“001 001000”,“001001001000”,“01000”,“01001000”或“01001001000”开始,
第八类的编码状态的n比特码字以“000”,“001000”,“001001000”,“001001001000”,“01000”,“01001000”,“01001001000”或“1000”开始,
第九类的编码状态的n比特码字以“000”,“001000”,“001001000”,“001001001000”,“01000”,“01001000”,“01001001000”,“1000”或“1001000”开始,
第十类的编码状态的n比特码字以“000”,“001000”,“001001000”,“001001001000”,“01000”,“01001000” ,“01001001000”,“1000”,“1001000”或“1001001000”开始。
在该方法的再一个实施例中,在以上的4个子代码和8比特输入字的情形下,对第一子代码而言,对于T=10个类别的编码状态的每个类别的编码状态的数目分别为p1=8,p2=11,p3=12,p4=12,p5=16,p6=17,p7=18,p8=24,p9=26和p10=26,和其中对第二子代码而言,对于该10个类别的编码状态的每个类别的编码状态的数目分别为p1=7,p2=10,p3=11,p4=11,p5=15,p6=16,p7=16,p8=21,p9=23和p10=24,和其中对第三子代码而言,对于该10个类别的编码状态的每个类别的编码状态的数目分别为p1=7,p2=9,p3=10,p4=10,p5=13,p6=14,p7=15,p8=19,p9=21,和p10=22,和其中对第四子代码而言,对于该10个类别的编码状态的每个类别的编码状态的数目分别等于p1=6,p2=8,p3=9,p4=9,p5=12,p6=13,p7=13,p8=18,p9=19,和p10=20。
对于使用4个子代码的编码方法,这些是每个子代码的每个编码类别的编码状态的数量。该设计被选择成使得在所有的子代码上考虑的编码状态的最大数目被最小化。
每个子代码包括相同的数量的编码类别,但编码类别包括不同的数目的编码状态,这要取决于所考虑的子代码。正如以上可以看到的,对每个子代码而言,对于每个编码类别的编码状态的数目连同对于该子代码的编码类别的数目一起增加。
现在根据附图和表格描述本发明。
图1显示一个包括重复三个子代码的代码。
图2显示对于d=1和r=2RLL约束条件的状态转移图。
图3显示用于译码的接连的步骤。
图4显示对于9比特输入字使用导引的扰码的DC控制的格式。
图5显示一个包括重复六个子代码的代码。
图6显示对于8比特输入字使用导引的扰码的DC控制的格式。
图7显示一码元前视滑动块译码。
图8显示用于译码的接连的步骤。
图9显示使用软判决比特检测和软输入软输出RLL译码器的记录和重放系统。
图10显示一个包括重复四个子代码的代码。
图11显示对于d=2和r=2RLL约束条件的状态转移图。
第1节
一个用于9比特信息字的d=1和r=2代码
正如上面所讨论的,组合的RLL约束条件d=1和r=2的香农容量为C(d=1,k=∞,r=2)=0.679286。有可能构建一个具有27-到-40的用户比特到信道比特的映射的代码,  因为它具有比值R=0.675≤C(d=1,k=∞,r=2):这个新的代码的效率η=R/C(d=1,k=∞,r=2)能使得与理论的上限相比较,仅仅丢失小的部分1-η=0.63%。显然,为了任何实际的使用,具有27比特项目的代码本是非常过份地大的。为了克服这个问题,提出遵从在J.J.Ashley and B.H.Marcus,“Time-Varying Encodersfor constrained Systems:an Approach to Limiting Error Propagation(约束系统的时变编码器:限制差错传播的方案)”,IEEE Transactions onInformation Theory,Vol.46,No.3,pp.1038-1043,May 2000中给出的算法的各行的解。后者的方法归纳了如在R.L.Adler,D.Coppersmith,andM.Hassner,“Algorithms for Sliding Block Codes.An Application ofSymbolic Dynamics to Information Theory(滑动块码算法。把符号动态特性应用到信息理论)”,IEEE Transaction on InformationTheory,Vol.IT-29,1983,pp.5-22中公开的公知的状态分离算法或ACH算法,它被用来构建用于在多个阶段的多个代码的级联的有效的滑动块代码,其中编码和译码从一个阶段到下一个阶段循环进行。实际上,对于具有比值R=27/40的新的代码,总的代码可被实现为一个被表示为C1,C2,C3、具有各个映射9-到-13,9-到-13,和9-到-14的三个子代码的循环级联。这样的重复被显示于图1。
图1显示三个子代码C1,C2,C3的重复。用户字1a,1b,1c,1d,1e,1f是9比特。子代码的重复周期3由箭头表示,它包括三个子代码C1,C2,C3的重复。用户字1a,1b,1c,1d,1e,1f被变换成信道字2a,2b,2c,2d,2e,2f,它们在级联后形成编码的比特流4。一个子代码把9比特用户字变换成14比特信道字,即码字,而其余的子代码把用户字变换成13比特信道字。
在一般情形下,总的代码由S个子代码实现。归一化的ACH算法寻找一组S个近似本征向量,每个子代码一个,其中用vi k表示对于第k个子代码的近似本征向量的第i个系数,它对于描述RLL约束条件的相应的状态转移图(STD)的所有的状态i和对于所有的子代码k(对于第k个子代码具有映射mk到nk)而言,满足一个不等式组:
Σ j D i , j m k v j k + 1 ≥ 2 n k v i k .
应当指出,当k=S时,由于子代码的循环重复周期引起的具有下标k+1的下一个子代码是具有等于1的下标的子代码。在以上的公式中,D代表用于STD的所谓的相邻性矩阵或连接矩阵:如果在图上相应的两个STD状态被连接,则它的矩阵元素等于1,如果相应的两个STD状态没有连接,则它的矩阵元素等于2。对于具有RLL约束条件d=1和r=2的新的代码,三个子代码具有参数m1=m2=m3=9和n1=13,n2=13和n3=14。(应当指出这三个映射的任何的被扰码的次序对于另外的代码构建也是正确的次序,并属于本发明的范围)三个子代码(被表示为C1,C2,C3)的循环重复被示意地显示于图1。这意味着,对于设想的新的总的代码必须满足以下不等式:
Σ j = 1 7 D i , j 13 v j 2 ≥ 2 9 v i 1 , i = 1,2 , . . . , 7 , - - - ( 4 )
Σ j = 1 7 D i , j 13 v j 3 ≥ 2 9 v i 2 , i = 1,2 , . . . , 7 , - - - ( 5 )
Σ j = 1 7 D i , j 14 v j 1 ≥ 2 9 v i 3 , i = 1,2 , . . . , 7 . - - - ( 6 )
对于RLL约束条件d=1和r=2,STD被显示于图2:它包括7个STD状态11,12,13,14,15,16,17,被表示为σ1,σ2,...,σ7。应当指出,在这个STD中不考虑k约束条件。k约束条件将在代码设计的以后阶段中被引用,但在当前的STD的适配中将不进行它的引用。给定的STD状态11,12,13,14,15,16,17的展开是可以从那个状态出发的(具有给定的长度的)码字的集合。对于STD状态σi,该展开被表示为Fσi。对于7个STD状态的展开的信道字的最前面的比特被列出在表1;在表1上还列出以后要引入的、并被表示为
Figure A20058003109800271
的重新编号的STD状态。最后,在表1上还列出以后要引入的不同的编码类别。
Figure A20058003109800272
从表1可以看到,在展开中应用以下的分级结构(其中STD状态σ3具有最大展开):
Fσ6Fσ4Fσ1Fσ7Fσ5Fσ2Fσ3.  (7)
新的RLL码根据多个编码状态被构建,每个子代码一个编码状态组。按照本发明,这些编码状态被如下地安排成七个类别:
第一类编码状态的n比特码字属于Fσ6(或
第二类编码状态的n比特码字属于Fσ4(或
第三类编码状态的n比特码字属于Fσ1(或
第四类编码状态的n比特码字属于Fσ7(或
Figure A20058003109800285
第五类编码状态的n比特码字属于Fσ5(或
第六类编码状态的n比特码字属于Fσ2(或
Figure A20058003109800287
第七类编码状态的n比特码字属于Fσ3(或
Figure A20058003109800288
由于按照本发明的编码类别的这个特定的排序,编码类别i的编码状态也是具有不小于i的下标j(即j≥i)的所有的编码类别的编码状态。因此,方便的是如下地排序码字的最前面比特的可能的图案:
表2.最前面比特
图案的排序
  i     图案
  1     |00...
  2     |0100...
  3     |010100...
  4     |01010100...
  5     |100...
  6     |10100...
  7     |1010100...
另外,对于按照本发明的代码构建,有利的是考虑如在表3概述的结尾比特图案的以下的排序(其中还表示STD的到达状态,原始的STD状态和重新编号的STD状态)。按照本发明,码字可被划分成7种不同的类型,如由它们的结尾比特图案规定的。
Figure A20058003109800291
应当指出,(表3的)排序的结尾比特图案是(表2的)相应的排序的最前面比特图案的镜像版本。接着,讨论已提到的STD状态的重新编号。现在方便的是根据如在表3上列出的结尾比特图案的排序来重新编号STD的状态。这个新的编号在表3的最后两列上列出。新的重新编号的状态被表示为
Figure A20058003109800301
通过这个新的编号,类型i的码字将在具有相同的下标的(重新编号的)STD状态,即 中出现;因此,类型i的码字可以与属于类别8-i的编码状态的任何码字级联起来成为一个以后的码字。应当指出,属于类别8-i的编码状态的码字具有下标l的最前面比特图案(来自表2),其中1≤l≤8-i。作为例子,类型3的码字(以结尾比特图案...001010结束)可以与来自类别5的编码状态的码字级联,这意味着该后者的码字可以从最前面的比特图案(表2)i=1,i=2,...,i=5开始。这种把码字划分成7种不同的类型的码字和把编码状态安排在7个不同的编码类别,形成了用于进一步的码构建的基础:这样,RLL约束条件d=1和r=2总是保持为满足的(也在循环的接连的子代码的码字级联的情况下)。从表3,可以看到,在展开时以下的分级结构应用于重新编号的STD状态:
F σ ` 7 ⋐ F σ ` 6 ⋐ F σ ` 5 ⋐ F σ ` 4 ⋐ F σ ` 3 ⋐ F σ ` 2 ⋐ F σ ` 1 . - - - ( 8 )
重新编号的STD状态
Figure A20058003109800304
具有全部中的最大的展开,以及
Figure A20058003109800305
是最小的展开,带有按照从
Figure A20058003109800306
Figure A20058003109800307
的减小的展开的枚举的排名。对于重新编号的STD状态和一个被表示为
Figure A20058003109800308
的相应的重新安排的连接矩阵,近似的本征向量不等式(对于“新的”本征向量 被重新写为:
Σ j = 1 7 D ` l , j 13 v ~ j 2 ≥ 2 9 v ~ l 1 , l = 1,2 , . . . , 7 , - - - ( 9 )
Σ j = 1 7 D ` l , j 13 v ~ j 3 ≥ 2 9 v ~ l 2 , l = 1,2 , . . . , 7 , - - - ( 10 )
Σ j = 1 7 D ` l , j 14 v ~ j 1 ≥ 2 9 v ~ l 3 , l = 1,2 , . . . , 7 . - - - ( 11 )
可能的码字的最前面的比特图案和结尾比特图案被显示在表2和3中。以最前面的比特图案i开始和以结尾比特图案j结束的、长度n的码字的数目被表示为Wij[n]。在专心检查后,它原来是:
D ` l , j n = Σ l = 1 8 - l W i , j [ n ] . - - - ( 12 )
知道这个公式后,近似本征向量不等式可被重写为:
Σ i = 1 l Σ j = 1 7 W i , j [ 13 ] v ~ j 2 ≥ 2 9 v ~ 8 - l 1 , l = 1,2 , . . . , 7 , - - - ( 13 )
Σ l = 1 l Σ j = 1 7 W i , j [ 13 ] v ~ j 3 ≥ 2 9 v ~ 8 - l 2 , l = 1,2 , . . . , 7 , - - - ( 14 )
Σ l = 1 l Σ j = 1 7 W i , j [ 14 ] v ~ j 1 ≥ 2 9 v ~ 8 - l 3 , l = 1,2 , . . . , 7 . - - - ( 15 )
每个编码类别的编码状态的数目由用于第s个子代码(s=1,2,3)的向量p’表示。它与近似本征向量
Figure A20058003109800315
的关系被给出为(对于第i个分量,其中1≤i≤7):
p i s = v ~ 8 - i s . - - - ( 16 )
应当指出,通过这个有利的构建,该编码类别具有正好与重新编号的STD状态的编号系统互补的编号系统;这可以从表1看到的,其中提到STD状态的重新编号,但没有加以说明。而且,再次由于不同的编码类别的特定的构建,以下的不等式成立(对于每个子代码s,s=1,2,3):
p 1 s ≤ p 2 s ≤ p 3 s . . . p 7 s . - - - ( 17 )
示例的代码设计:一个具有k=∞的代码
首先,考虑没有k约束条件(k=∞)的情形。对于长度n=13和n=14的、具有特定的最前面的比特图案(i)和结尾比特图案(j)的码字的数目(表示为Wij[n])被给出为:
W [ 13 ] = 85 33 13 5 53 21 8 33 13 5 2 21 8 3 13 5 2 1 8 3 1 5 2 1 0 3 1 1 53 21 8 3 33 13 5 21 8 3 1 13 5 2 8 3 1 1 5 2 1 - - - ( 18 )
W [ 14 ] = 136 53 21 8 85 33 13 53 21 8 3 33 13 5 21 8 3 1 13 5 2 8 3 1 1 5 2 1 85 33 13 5 53 21 8 33 13 5 2 21 8 3 13 5 2 1 8 3 1 - - - ( 19 )
示例的代码设计:一个具有k约束条件的代码
为了在不利用一个明显地包括有k约束条件的适配的STD的情况下来生成k约束条件,有利的是限制该码字中最前面的和结尾的零的数目。在码字中的最前面的零的最大数目被表示为l0;结尾的零的最大数目被表示为r0。在对l0和r0的附加约束条件下,对于码字长度n,具有特定的最前面比特图案i和结尾比特图案j的码字的数目被表示为Wl,j l0,r0[n]。应当指出,以前定义的矩阵可被表示为:
W i , j [ n ] ≡ W i , j ∞ , ∞ . - - - ( 20 )
附加约束条件k=18是通过选择l0=r0=9而实现的。对于码字长度n=13和n=14的矩阵W9,9[n],被给出为:
W 9,9 [ 13 ] = 82 32 13 5 52 20 8 32 13 5 2 21 8 3 13 5 2 1 8 3 1 5 2 1 0 3 1 1 52 21 8 3 33 13 5 20 8 3 1 13 5 2 8 3 1 1 5 2 1 - - - ( 21 )
W 9,9 [ 14 ] = 131 52 20 8 83 32 13 52 21 8 3 33 13 5 20 8 3 1 13 5 2 8 3 1 1 5 2 1 83 33 13 5 53 21 8 32 13 5 2 21 8 3 13 5 2 1 8 3 1 - - - ( 22 )
重写的近似本征向量不等式的实际的近似本征向量组被给出为:
v ~ 1 = { 19,18,16,11,11,10,7 } , - - - ( 23 )
v ~ 2 = { 22,21,19,13,13,12,8 } , - - - ( 24 )
v ~ 3 = { 26,25,22,16,15,14,10 } . - - - ( 25 )
具有9-到-13映射的、被表示为C1的第一代码具有总共19个编码状态;具有9-到-13映射的、被表示为C2的第二代码具有总共22个编码状态;以及具有9-到-14映射的、被表示为C3的第三代码具有总共26个编码状态。在该7个不同的编码类别上(对于每个子代码)全部数目的编码状态的分布由近似本征向量(对于给定的子代码)来控制,如公式(16)表示的。
对于具有k=18的代码的代码表的构建
代码表这样地被构建,以使得一个(具有所有的它的可能的下一个状态)码字只能以一个特定的编码状态出现。对于译码操作,这意味着,下一个码字唯一地规定当前的码字的”下一个状态”函数。
编码
为了编码9比特用户字,必须知道:
(1)必须通过它来编码当前的用户字的子代码Ci;以及
(2)被表示为Ci-Sj的子代码Ci的状态j,和要被使用于编码的相应的代码表。
在编码过程中,编码器生成以下项作为输出:
(1)按照要被使用的代码表的码字;
(2)对于编码下一个9比特用户字所要使用的下一个子代码,它仅仅是Ci+1(由于三个子代码的循环重复,对于i=3,它等于C1);以及
(3)按照在编码当前的用户字后要被使用的代码表的下一个子代码Ci+1的下一个状态,其中该下一个状态将规定对于用于下一个子代码Ci+1编码下一个9比特用户字要使用哪个代码表。
译码
译码的处理过程根据图3进行描述。译码是与状态无关的,即,不需要知道编码器编码9比特用户字(该用户字是现在要译码的)时的状态。与状态无关的译码是通过这样的事实达到的,每个码字和可能发生的下一个状态组合在(所有的代码表中间的)一个单个代码表中只出现一次。而且,对于把码字译码成用户字,还需要知道当前的码字的下一个状态。后者的下一个状态可以从紧接在当前的码字后面的下一个码字推导出。“这是有可能的”的这样的事实是通过构建编码状态而得到的,由此,每个码字(与它的下一个状态无关)在所有的代码表中间的一个单个代码表中只出现;所以,下一个码字明确地确定当前的码字的下一个状态。应当指出,利用子代码Cp编码的给定的码字的下一个状态是下一个子代码(即Cp+1)的可能的状态中的一个状态。
译码的过程进一步如下地说明。在译码器的输入端处,有两个码字,即用子代码Cp编码的码字Wi,和用下一个子代码Cp+1编码的码字Wi+1。对于两个码字并与被应用到每个码字Wi和Wi+1的子代码无关地,可以得到下标(例如,根据对于d=1 RLL约束条件的枚举的译码:对于13信道比特的码字,是从0到609的下标范围,和对于14信道比特的码字,是从0到986的下标范围)。对于当前的和下一个码字,相应的下标被表示为Ii和Ii+1。接着,下标Ii+1藉助于专门的变换表(它取决于被施加到所考虑的码字Wi+1的子代码)被变换成当前的码字Wi的下一个状态:对于所考虑的子代码(它在这里是Cp+1),这个表把码字的每个(下标)映射为它属于的状态。这“下一个状态”被表示为NSi。当前的码字Wi的下标的组合(即Ii)与它的译码的下一个状态NSi相组合,是对于给定的子代码Cp的一个专门的译码表的输入,这产生译码的(9比特)用户字。
通过使用导引的扰码的DC控制
在光编码(FFM,EFMPlus,和17PP)中使用的所有的RLL码是无直流(DC)的,即,它们几乎没有低频内容。这个特性是频域约束条件的例子。这里,对在某些频率下该序列的每个时间单位的能量内容加上限制,即,对该序列的功率谱密度函数加上限制。(如运行长度约束条件那样的约束条件被称为时域约束条件。)大多数这些约束条件属于频谱零点约束条件族,其中序列的功率谱密度函数在某些特定的频率下必须具有每个次序的零点。规定的在DC(零频率)处的零点的约束条件被称为无DC约束条件。NRZI信道比特将由双极性值+1代表。序列x1,x2,...,被称为无DC的,如果它的运行数字和(RDS)
RDS1=x1+…+xi
仅仅呈现有限的许多不同的数值的话。在这种情形下,功率谱密度函数在DC时消失。
在光记录时由于多种原因需要无DC特性。首先,必须把数据信号与诸如指纹、灰尘或缺陷等等的低频盘噪声分隔开。第二,正如在A.F.Stikvoort and J.A.C.van Rens,in“An all-digital bit detector forcompact disc players(用于致密盘播放器的全数字比特检测器)”,IEEE.J.Sel.Areas Commun,10,1:191-200,1992中揭示的,在如凹坑(pit)-小岛(land)非对称性那样的物理信号中非线性的情形下,对于限幅器(Slicer)电平的控制需要无DC编码,以及第三,被使用于跟踪激光光点位置的伺服系统需要无DC数据信号。
导引的扰码
导引的扰码(GS)可被使用于实现DC控制,正如在K.A.S.Immink,in“Codes for Mass Data Storage Systems(用于海量数据存储系统的代码)”,The Netherlands:Shannon Foundation Publishers,1999中描述的。导引的扰码如下地工作。一系列的Nscr个输入字41a,41b,41c,41d,41i形成所谓的扰码块40。扰码块的最前面的s个比特是可以被自由地选择的扰码比特。这2s个任选项的每个任选项在以下的两个操作后生成RLL编码的扰码块:第一,输入比特根据扰码器多项式被传送到一个被实施为线性后向移位寄存器的扰码器;第二,扰码的输入比特用新的RLL码(带有它的三个子代码)被编码为RLL信道比特流。对于2s个任选项的每个任选项,例如根据运行数字和的方差(也称为“和值方差”)来估计DC内容。然后选择具有“最好的”DC抑制特性的任选项。
9比特ECC码元的分布
图4显示在扰码块中包括s个扰码比特的格式的典型的例子。扰码块40包括(新的RLL码和它的三个子代码的)Nscr个9比特输入码元41a,41b,41c,41d,41i。对于具有用于DC控制的、与在具有17PP代码的蓝光盘(BD)格式中所使用的相同的附加开销的新的RLL码的可能的格式具有Nscr=15和s=3,这意味着,对于每个扰码块有8个可能的扰码信道比特流。由于明显的理由,有利的是新的RLL码使用根据具有9比特ECC码元的Reed-Solomon码的代数纠错码(ECC)。在扰码块的开始端插入s=3扰码比特,将扰乱9比特码元在它们在新的RRL代码的编码器的输入端处被使用时的正常次序。为了限制错误传播,采用在US 6,265,994中公开的措施,正如从图4看到的那样:显示三个接连的扰码块。每个扰码块40中除了第一个9比特输入字41a以外的所有的41b,41c,41d,41i一一对应于9比特ECC码元。第一扰码块的第一个输入字41a包括s=3扰码比特43和(9比特的)第一专门ECC码元中的6比特44。同样地,第三扰码块的第一个输入字包括s=3扰码比特45和第二专门ECC码元中的6比特46。两个专门ECC码元的其余3比特的两个组,其每组连同另一组的s=3扰码比特一起,形成第二扰码块的第一输入字。两个专门ECC码元中的每个码元的9比特用图4的两个椭圆47,48表示。
第2节
用于8比特信息字的d=1 r=2代码
正如上面所讨论的,组合的RLL约束条件d=1和r=2的香农容量等于C(d=1,k=∞,r=2)=0.679286。有可能构建一个具有48-到-71的用户比特到信道比特的映射的代码,因为它具有比值R=0.676056≤C(d=1,k=∞,r=2):这个新的代码的效率η=R/C(d=1,k=∞,r=2)是使得与理论的上限相比较仅仅丢失小的部分1-η=0.48%。显然,为了任何实际的使用,具有48比特项目的代码本是非常过份大的。为了克服这个问题,提出遵从在J.J.Ashley and B.H.Marcus,in“Time-Varying Encodersfor constrained Systems:an Approach to Limiting Error Propagation(约束系统的时变编码器:限制差错传播的方案)”,IEEE Transactions onInformation Theory,Vol.46,No.3,pp.1038-1043,May 2000中给出的算法的各行的解。后者的方法归纳如在R.L.Adler,D.Coppersmith,andM.Hassner,“Algorithms for Sliding Block Codes.An Application ofSymbolic Dynamics to Information Theory(滑动块码算法。把符号动态特性应用到信息理论)”,IEEE Transaction on InformationTheory,Vol.IT-29,1983,pp.5-22中公开的公知的状态分离算法或ACH算法,它被使用于构建有效的滑动块代码,以用于在多个阶段的多个代码的级联,其中编码和译码从一个阶段到下一个阶段循环进行。实际上,对于具有比值R=48/71的新的代码,总的代码可被实现为被表示为C1,C2,C3,C4,C5,C6的、具有各个映射8到12,8到12,8到12,8到12,8到12,和8到11的六个子代码的循环级联。
在一般情形下,总的代码由一系列的S个子代码实现。归一化的ACH算法寻找一组S个近似本征向量,每个子代码一个,其中用vi k表示对于第k个子代码的近似本征向量的第i个系数,它对于描述RLL约束条件的相应的状态转移图(STD)的所有的状态i和对于所有的子代码k(对于第k个子代码,具有映射mk到nk),满足不等式组:
Σ j D i , j m k v j k + 1 ≥ 2 n k v i k . - - - ( 26 )
应当指出,当k=S时,由子代码的循环重复周期引起的具有下标k+1的下一个子代码是具有等于1的下标的子代码。在以上的公式中,D表示用于STD的所谓的相邻性矩阵或连接矩阵:如果在图上相应的两个STD状态被连接,则它的矩阵元素等于1,如果相应的两个STD状态没有连接,则它的矩阵元素等于0。对于具有RLL约束条件d=1 r=1的新的代码,六个子代码具有参数m1=m2=m3=m4=m5=m6=8和n1=n2=n3=n4=n5=12和n6=11。(应当指出这六个映射的任何的扰码的次序对于另外的代码构建也是正确的次序,并属于本发明的范围。)六个子代码C1,C2,C3,C4,C5,C6的循环重复(其中每个子代码C1,C2,C3,C4,C5,C6把一个8比特用户字51a,51b,51c,51d,51e,51f变换成信道字52a,52b,52c,52d,52e,52f)被示意地显示于图5。一个子代码C6把8比特用户字51f变换成11比特信道字52f,即码字,而其余的子代码C1,C2,C3,C4,C5把8比特用户字51a,51b,51c,51d,51e变换成12比特信道字52a,52b,52c,52d,52e。这意味着,对于设想的新的总的代码必须满足以下不等式:
Σ j = 1 7 D i , j 12 v j 2 ≥ 2 8 v i 1 , i = 1,2 , . . . , 7 , - - - ( 27 )
Σ j = 1 7 D i , j 12 v j 3 ≥ 2 8 v i 2 , i = 1,2 , . . . , 7 , - - - ( 28 )
Σ j = 1 7 D i , j 12 v j 4 ≥ 2 8 v i 3 , i = 1,2 , . . . , 7 , - - - ( 29 )
Σ j = 1 7 D i , j 12 v j 5 ≥ 2 8 v i 4 , i = 1,2 , . . . , 7 , - - - ( 30 )
Σ j = 1 7 D i , j 12 v j 6 ≥ 2 8 v i 5 , i = 1,2 , . . . , 7 , - - - ( 31 )
Σ j = 1 7 D i , j 11 v j 1 ≥ 2 8 v i 6 , i = 1,2 , . . . , 7 . - - - ( 32 )
对于重新编号的STD状态和被表示为
Figure A20058003109800387
的相应的重新安排的连接矩阵,近似的本征向量不等式(对于“新的”本征向量
Figure A20058003109800388
被重新写为:
Σ j = 1 7 D ` l , j 12 v ~ j 2 ≥ 2 8 v ~ l 1 , l = 1,2 , . . . , 7 , - - - ( 33 )
Σ j = 1 7 D ` l , j 12 v ~ j 3 ≥ 2 8 v ~ l 2 , l = 1,2 , . . . , 7 , - - - ( 34 )
Σ j = 1 7 D ` l , j 12 v ~ j 4 ≥ 2 8 v ~ l 3 , l = 1,2 , . . . , 7 , ( 35 )
Σ j = 1 7 D ` l , j 12 v ~ j 5 ≥ 2 8 v ~ l 4 , l = 1,2 , . . . , 7 , - - - ( 36 )
Σ j = 1 7 D ` l , j 12 v ~ j 6 ≥ 2 8 v ~ l 5 , l = 1,2 , . . . , 7 , - - - ( 37 )
Σ j = 1 7 D ` l , j 11 v ~ j 1 ≥ 2 8 v ~ l 6 , l = 1,2 , . . . , 7 . - - - ( 38 )
可能的码字的最前面的比特图案和结尾比特图案在表2和3中被标识。以最前面的比特图案i开始的和以结尾比特图案j结束的、长度n的码字的数目被表示为Wij[n]。在专心检查后,它原来是:
D ` l , j n = Σ i = 1 8 - l W i , j [ n ] . - - - ( 39 )
知道这个公式后,近似本征向量不等式可被重写为:
Σ i = 1 l Σ j = 1 7 W l , j [ 12 ] v ~ j 2 ≥ 2 8 v ~ 8 - l 1 , l = 1,2 , . . . , 7 , - - - ( 40 )
Σ i = 1 l Σ j = 1 7 W l , j [ 12 ] v ~ j 3 ≥ 2 8 v ~ 8 - l 2 , l = 1,2 , . . . , 7 , - - - ( 41 )
Σ l = 1 l Σ j = 1 7 W i , j [ 12 ] v ~ j 4 ≥ 2 8 v ~ 8 - l 3 , l = 1,2 , . . . , 7 , - - - ( 42 )
Σ i = 1 l Σ j = 1 7 W i , j [ 12 ] v ~ j 5 ≥ 2 8 v ~ 8 - l 4 , l = 1,2 , . . . , 7 , - - - ( 43 )
Σ i = 1 l Σ j = 1 7 W l , j [ 12 ] v ~ j 6 ≥ 2 8 v ~ 8 - l 5 , l = 1,2 , . . . , 7 , - - - ( 44 )
Σ l = 1 l Σ j = 1 7 W i , j [ 11 ] v ~ j 1 ≥ 2 8 v ~ 8 - l 6 , l = 1,2 , . . . , 7 . - - - ( 45 )
每个编码类别的编码状态的数目由用于第s个子代码(s=1,2,3,4,5,6)的向量p’表示。它与近似本征向量
Figure A20058003109800398
的关系被给出为(对于第i个分量,其中1≤i≤7):
p i s = v ~ 8 - i s - - - ( 46 )
应当指出,通过这个有利的构建,编码类别具有正好与重新编号的STD状态的编号系统互补的编号系统;这可以从表1看到,其中提到STD状态的重新编号,但没有加以说明。而且,再次由于不同的编码类别的特定的构建,以下的不等式成立(对于每个子代码s,s=1,2,3,4,5,6):
p 1 s ≤ p 2 s ≤ p 3 s . . . ≤ p 7 s . - - - ( 47 )
示例的代码设计:一个具有k=∞的k约束条件的代码
首先,考虑没有k约束条件(k=∞)的情形。对于长度n=12和n=11的、具有特定的最前面的比特图案(i)和结尾比特图案(j)的码字的数目(表示为Wi,j[n])被给出为:
W [ 12 ] = 53 21 8 3 33 13 5 21 8 3 1 13 5 2 8 3 1 1 5 2 1 3 1 1 0 2 1 0 33 13 5 2 21 8 3 13 5 2 1 8 3 1 5 2 1 0 3 1 1 - - - ( 48 )
W [ 11 ] = 33 13 5 2 21 8 3 13 5 2 1 8 3 1 5 2 1 0 3 1 1 2 1 0 0 1 1 0 21 8 3 1 13 5 2 8 3 1 1 5 2 1 3 1 1 0 2 1 0 - - - ( 49 )
示例的代码设计:一个具有k约束条件的代码
为了在不必利用一个明显地包括有k约束条件的适配的STD的情况下来生成k约束条件,有利的是限制码字中最前面的和结尾的零的数目。在码字中的最前面的零的最大数目被表示为l0;结尾的零的最大数目被表示为r0。在对于l0和r0的附加约束条件下,对于码字长度n,具有特定的最前面比特图案i和结尾比特图案j的码字的数目被表示为Wi,j l0,r0[n]。应当指出,以前定义的矩阵可被表示为:
W i , j [ n ] ≡ W i , j ∞ , ∞ . - - - ( 50 )
附加约束条件k=22是通过对于具有8到12的映射的子代码的选择l0=r0=11和对于具有8-到-11的映射的子代码的选择l0=r0=10而实现的。矩阵W11,11[12]和W10,10[11]被给出为:
W 11,11 [ 12 ] = 52 21 8 3 33 13 5 21 8 3 1 13 5 2 8 3 1 1 5 2 1 3 1 1 0 2 1 0 33 13 5 2 21 8 3 13 5 2 1 8 3 1 5 2 1 0 3 1 1 - - - ( 51 )
W 10,10 [ 11 ] = 32 13 5 2 21 8 3 13 5 2 1 8 3 1 5 2 1 0 3 1 1 2 1 0 0 1 1 0 21 8 3 1 13 5 2 8 3 1 1 5 2 1 3 1 1 0 2 1 0 - - - ( 52 )
应当指出,对于在(长度n=12或n=11的)码字中最前面的和结尾的零的数目的这个选择,只有全零码字才被省略(这意味着,在位置(1,1)处的矩阵元素比起以前的两个矩阵的组减小一个单位)。重写的近似本征向量不等式的实际的近似本征向量组被给出为:
v ~ 1 = { 28,27,24,17,17,15,11 , } , - - - ( 53 )
v ~ 2 = { 26,25,22,16,15,14,10 } , - - - ( 54 )
v ~ 3 = { 24,23,20,14,14,13,9 } , - - - ( 55 )
v ~ 4 = { 22,21,19,13,13,11,8 } , - - - ( 56 )
v ~ 5 = { 20,19,17,12,12,11,8 } , - - - ( 57 )
v ~ 6 = { 19,18,16,12,11,10,7 } . - - - ( 58 )
具有8到12映射的、被表示为C1的第一代码具有总共28个编码状态;具有8到12映射的、被表示为C2的第二代码具有总共26个编码状态;具有8到12映射的、被表示为C3的第三代码具有总共24个编码状态;具有8到12映射的、被表示为C4的第四代码具有总共22个编码状态;具有8到12映射的、被表示为C5的第五代码具有总共20个编码状态;具有8到11映射的、被表示为C6的第六代码具有总共19个编码状态。在该7个不同的编码类别上(对于每个子代码)全部数目的编码状态的分布由近似本征向量(对于给定的子代码)来控制,如公式(46)表示的那样。
对于一个具有k=22的代码的代码表的构建
该代码表这样地被构建,以使得(具有所有的它的可能的下一个状态)码字只能以一个特定的编码状态出现。对于译码操作,这意味着,下一个码字唯一地规定当前的码字的”下一个状态”函数。
编码
为了编码一个8比特用户字,必须知道:
(1)必须通过其来编码当前的用户字的子代码Ci;以及
(2)被表示为Ci-Sj的子代码Ci的状态j,和要被使用于编码的相应的代码表。
在编码过程中,编码器生成以下项作为输出:
(1)按照要被使用的代码表的码字;
(2)对于编码下一个9比特用户字所要使用的下一个子代码,它仅仅是Ci+1(由于六个子代码的循环重复,对于i=6,它等于C1);以及
(3)按照在编码当前的用户字后要被使用的代码表的下一个子代码Ci+1的下一个状态,其中这个下一个状态将规定对用于下一个子代码Ci+1编码下一个8比特用户字要使用哪个代码表。
译码
译码的处理过程根据图3进行描述。译码是与状态无关的,即,不需要知道编码器在编码8比特用户字(该用户字是现在要译码的)时的状态。与状态无关的译码是通过这样的事实达到的,每个码字和可能发生的下一个状态组合在(所有的代码表之中的)一个单个代码表中只出现一次。而且,对于把码字译码成用户字,还需要知道当前的码字的下一个状态。后者的下一个状态可以从紧接在当前的码字后面的下一个码字推导出。“这是有可能的”的这样的事实是通过构建编码状态而得到的,由此,每个码字(与它的下一个状态无关)只在所有的代码表中间的一个单个代码表中出现;所以,下一个码字明确地确定当前的码字的下一个状态。应当指出,(用子代码Cp编码的)给定的码字的下一个状态是下一个子代码(即Cp+1)的可能的状态中的一个状态。
译码的过程进一步如下地说明。在译码器的输入端处,有两个码字,即用子代码Cp编码的码字Wi,和用子代码Cp+1编码的码字Wi+1。对于两个码字并与被应用到每个码字Wi和Wi+1的子代码无关地,可以得到下标(例如,根据对于d=1 RLL约束条件的枚举的译码:对于12信道比特的码字,是从0到376的下标范围,和对于11信道比特的码字,是从0到232的下标范围)。对于当前的和下一个码字,各个下标被表示为Ii和Ii+1。接着,下标Ii+1藉助于专门的变换表(它取决于被施加到所考虑的码字Wi+1的子代码)被变换成当前的码字Wi的下一个状态:这个表把每个码字(的下标)映射为对于所考虑的子代码(它在这里是Cp+1)其所属于的状态。这个“下一个状态”被表示为NSi。与其译码的下一个状态NSi组合起来,当前的码字Wi的下标的组合(即Ii)是对于给定的子代码Cp的专门的译码表的输入,它产生译码的(8比特)用户字。
通过使用导引的扰码的DC控制
对于DC控制,可以使用如以前对于9比特取向的代码讨论的导引的扰码。
8比特ECC码元的分布
图6显示一个在扰码块中包括s个扰码比特的格式的典型的例子。扰码块包括(新的RLL码和它的六个子代码的)Nscr个8比特输入码元。对于具有用于DC控制的、与在具有17PP代码的蓝光盘(BD)格式中所使用的类似的附加开销的新的RLL码的一种可能的格式具有Nscr=11和s=2,这意味着,对于每个扰码块有4个可能的扰码信道比特流。由于明显的理由,有利的是新的RLL码要使用根据具有8比特ECC码元(字节)的Reed-Solomon码的代数纠错码(ECC)。在扰码块的开始端插入s=2扰码比特,将扰乱8比特码元在它们在新的RRL代码的编码器的输入端处被使用时的正常次序。为了限制错误传播,采用在US6,265,994中公开的措施,正如从图6看到的那样:显示了四个接连的扰码块60。每个扰码块60中除了第一个8比特输入字61a以外的所有的61b,61c,61d,61i一一对应于8比特ECC码元。第一扰码块60的第一个输入字61a包括s=2扰码比特63和(8比特的)第一专门ECC码元中的6比特64。同样地,第四扰码块的第一个输入字包括s=2扰码比特65和第二专门ECC码元中的6比特66。另外两个扰码块在第一输入字中具有以下的比特:第一,一组s=2扰码比特,然后是该两组之一,每组包括头两个专门ECC码元的其余2个信息比特,以及最后是第三专门ECC码元的信息比特的一半(因此4个)。这三个专门ECC码元的每个专门ECC码元的8比特用图6上三个椭圆67,68,69表示。
第3节
具有4到6的更紧凑的映射的代码
适用于软判决RLL译码的d=1和r=2 RLL码
r=2 RLL约束条件对于信道译码器(它可以是用于硬判决比特检测的PRML比特检测器和用于软判决比特检测的BCJR比特检测器)的性能是有利的。例如,对于硬判决比特检测,r=2约束条件在对于r≥6的情形下产生约5%的容量增益。所以,当前的ID的目的是生成具有以下特性的d=1 RLL码:
·它具有RMTR约束条件r=2;
·它具有有限的数目的编码状态;
·它不必具有极高的效率,因为对于后者的选择会导致代码的太大的复杂性,这使得它不适用于软判决SISO-RLL译码;所以R=2/3的代码比值仍旧可以满足的;
·它具有简明的映射,例如4-到-6,从而限制来自代码的每个编码状态的分支展开到24=16;
·另外,它必须优选地也具有k约束条件。
所有的以上的特性是通过将要从这里向前描述的代码构建实现的。
具有紧凑的4-到-6的映射的代码
当前的代码设计的目的是提供一个带有用户比特到信道比特的紧凑的映射的信道码,这样,软判决SISO-RLL译码器的硬件复杂性可以保持为很低(在分支的总数方面)。新的代码具有用户比特到信道比特的4到6的映射(因此R=2/3的代码比值)。正如上面所讨论的,组合的RLL约束条件d=1和r=2的香农容量等于C(d=1,k=∞,r=2)=0.679286。有可能构建具有4到6的用户比特到信道比特的映射的代码,因为它具有比值R=0.6667≤C(d=1,k=∞,r=2)。
滑动块代码的构建是基于如在R.L.Adler,D.Coppersmith,和M.Hassner.“Algorithms for Sliding Block Codes.An Application ofSymbolic Dynamics to Information Theory(滑动块码算法。把符号动态特性应用到信息理论)”,IEEE Transaction on InformationTheory,Vol.IT-29,1983,pp.5-22中公开的ACH算法。这个算法寻找一组近似本征向量,这里用vi表示近似本征向量的第i个系数,它对于描述RLL约束条件(对于具有映射m到n的代码)的相应的状态转移图(STD)的所有的状态i,满足不等式组:
Σ j D i , j n v j ≥ 2 m v i . - - - ( 59 )
在以上的公式中,D表示用于STD的所谓的相邻性矩阵或连接矩阵:如果在图上相应的两个STD状态被连接,则它的矩阵元素等于1,如果相应的两个STD状态没有连接,则它的矩阵元素等于0。对于具有RLL约束条件d=1和r=2的新的代码,代码具有参数m=4和n=6。这意味着,对于设想的新的代码必须满足以下不等式:
Σ j = 1 7 D i , j 6 v j ≥ 2 4 v i , i = 1,2 , . . . , 7 . - - - ( 60 )
对于重新编号的STD状态和被表示为
Figure A20058003109800453
的相应的重新安排的连接矩阵,近似的本征向量不等式(对于“新的”本征向量
Figure A20058003109800454
)被重新写为:
Σ j = 1 7 D ` l , j 6 v ~ j ≥ 2 4 v ~ l , l = 1,2 , . . . , 7 . - - - ( 61 )
可能的码字的最前面的比特图案和结尾比特图案在表2和3中被标识。以最前面的比特图案i开始的和以结尾比特图案j结束的、长度n的码字的数目被表示为Wij[n]。在专心检查后,它原来是:
D ` l , j n Σ i = 1 8 - l W i , j [ n ] . - - - ( 62 )
知道这个公式后,近似本征向量不等式可被重写为:
Σ i = 1 1 Σ j = 1 7 W i , j [ 6 ] v ~ j ≥ 2 4 v ~ 8 - l , l = 1,2 , . . . , 7 . - - - ( 63 )
每个编码类别的编码状态的数目由向量p表示。它与近似本征向量
Figure A20058003109800463
的关系被给出为(对于第i个分量,其中1≤i≤7):
p i = v ~ 8 - i . - - - ( 64 )
应当指出,通过这个有利的构建,编码类别具有正好与重新编号的STD状态的编号系统互补的编号系统;这可以从表1看到的,其中提到STD状态的重新编号,但没有加以说明。而且,再次由于不同的编码类别的特定的构建,以下的不等式成立(对于每个子代码s,s=1,2,3):
p1≤p2≤p3...≤p7.    (65)
用于一个码元前视滑动块检测器的附加措施
为了限制错误传播,构建新的代码,以使得译码器需要前视6信道比特的一个信道字,即,为了译码给定的用户字,需要相应的6比特信道字Wi以及下一个6比特信道字Wi+1,如图7所示。这是通过代码构建实现的,其中每个6比特只出现在一个单个特定的编码状态(由此所有的代码状态一起构建该代码);当然,考虑到这样的事实:信道字可以具有(并且通常具有)一个以上的可能的“下一个状态”,所考虑的6比特信道字可以在该单个编码状态内出现多次。总计有 个编码状态。让我们用ni,j p表示具有在第p个编码状态中使用的、最前面的比特图案i和结尾的比特图案j的码字的数目。然后,由于没有码字可被使用于一个以上的编码状态(为了简单起见,Wi,j对于码字中信道比特的数目n的依赖性可被省略),这导致:
Σ p = 1 v ~ 1 n i , j p ≤ W i , j . - - - ( 66 )
对每个编码类别,一系列的编码状态是相关的。适配的近似本征向量不等式必须被重写为:
Σ i = 1 l Σ j = 1 7 n i , j p v ~ j ≥ 2 4 , - - - ( 67 )
p = 1 + v ~ 8 - l + 1 , . . . , v ~ 8 - l ,
以及l=1,2,...,7.
在后者的公式中,假设 v ~ 8 = 0 ; 而且,该不等式只应用于运行下标p的左极限不大于它的右极限的情形(否则,对于给定的I(其中p的左极限大于p的右极限),不需要考虑额外的编码状态)。
示例的代码设计:具有k=∞的k约束条件的代码
首先,考虑没有k约束条件(k=∞)的情形。对于长度n=6的、具有特定的最前面的比特图案(i)和结尾比特图案(j)的码字的数目(表示为wij[n])被给出为:
W [ 6 ] = 3 1 1 0 2 1 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 - - - ( 68 )
具有长度n=6的码字的总数等于21(事实上,由于长度6的d=1序列的数目等于Nd=1(6)=21)。它们被列出在表4,并连同下标i,j(涉及到最前面的和结尾的比特图案)和由满足公式(63)的近似本征向量规定的字的乘数一起。码字按照以下的下标(从下标1开始直到21;I是具有比特bj的6比特码字的下标)以字典式的次序列出:
I = 1 + Σ j = 1 6 b j N d = 1 ( 6 - j ) . - - - ( 69 )
Figure A20058003109800481
近似本征向量AE
满足公式(63)的近似本征向量(被表示为AE)被给出为:
v ~ = { 8,8,7,5,5,4,3 } . - - - ( 70 )
这导致具有满足公式(67)的字分配的码。这在本段的其余部分加以说明,8个不同的编码状态按照公式(67)中接连的参数I数值逐步地生成。
表5.按照公式(67)的代码构建
号码   码字   i,j  AE   l=13 St.  l=21 St.   l=31 St.  l=4-  l=52 St.   l=61 St. l=7
1   000000   1,1   8   S1
2   000001   1,5   5   S3
3   000010   1,2   8   S1
4   000100   1,1   8   S2
5   000101   1,6   4 4 4   S5
6   001000   1,1   8   S2
7   001001   1,5   5   S3
8   001010   1,3   7   S3
9   010000   2,1   8 8  S4
10   010001   2,5   5 5 5   S5
11   010010   2,2   8 8  S4
12   010100   3,1   8 8 8   S5
13   010101   4,7   3 3 3 3   3   S7
14   100000   5,1   8 8 8 8   8   S6
15   100001   5,5   5 5 5 5   5   S7
16   100010   5,2   8 8 8 8   8   S6
17   100100   5,1   8 8 8 8   8   S7
18   100101   5,6   4 4 4 4   4   4   S8
19   101000   6,1   8 8 8 8   8   8   S8
20   101001   6,5   5 5 5 5   5   5   S8
21   101010   7,4   5 5 5 5   5   5 5  5
阶段(a)l=1,3编码状态p=1,2,3
可以使用具有i=1的所有的码字。两个编码状态通过组合8+8(=16)(两次)被实现,第三个编码状态通过组合5+5+7=17被实现,这样,实际上一个项目被丢失以供进一步使用(在下一个编码状态,以更高的l数值)。(具有乘数4的)一个码字不被使用,但将在以后在代码构建时使用。
阶段(b)l=2,1编码状态p=4
可以使用具有不大于i=2的最前面的比特图案的所有的码字。第四个编码状态S4通过组合8+8(=16)被实现。除了在阶段(a)剩下的一个码字以外,  (具有乘数5的)一个码字在这个阶段再一次不被使用,并将在以后使用。
阶段(c)l=3,1编码状态p=5
可以使用具有不大于i=3的最前面的比特图案的所有的码字。第五个编码状态S5通过组合8+5+4(=17)被实现。这意味着,实际上一个项目被丢失以供进一步使用(在下一个编码状态,以更高的l数值)。此外,已使用来自两个以前的步骤的所有的剩余的码字。
阶段(d)l=4,具有下标i=4的码字将在以后的阶段被使用。
阶段(e)l=5,2编码状态p=6,7
可以使用具有不大于i=5的最前面的比特图案的所有的码字。两个状态S6和S7通过组合8+8(=16)和8+5+3(=16)被实现。最后的码字(No.18)将在下一个阶段被使用。
阶段(f)l=6,1编码状态p=8
可以使用具有不大于i=6的最前面的比特图案的所有的码字。最后的编码状态S8通过组合8+5+4(=17)被实现,这意味着,一个项目被丢失。
这完成全部8个编码状态S1,S2,...,直到S8的构建。应当指出,在这个代码构建中完全不使用最后的码字(No.21,|101010|)。对于8个不同的编码状态(仅仅指出非零元素)的参数ni,j p(如在公式(66)和公式(67)中使用的)被列出在表6中:
表6
状态S1(p=1)
n 1,1 1 = 1 ,
n 1,2 1 = 1 .
状态S2(p=2)
n 1,1 2 = 2 .
状态S3(p=3)
n 1,3 3 = 1 ,
n 1,5 3 = 2 .
状态S4(p=4)
n 2,1 4 = 1 ,
n 2,2 4 = 1 .
状态S5(p=5)
n 1,6 5 = 1 ,
n 2,5 5 = 1 ,
n 3,1 5 = 1 .
状态S6(p=6)
n 5,1 6 = 1 ,
n 5,2 6 = 1 .
状态S7(p=7)
n 4,7 7 = 1 ,
n 5,1 7 = 1 ,
n 5,5 7 = 1 .
状态S8(p=8)
n 5,6 8 = 1 ,
n 6,1 8 = 1 ,
n 6,5 8 = 1 .
所有的其它参数ni,j p(没有列出)是零。可以容易地验证,对于所有的下标i,j(除了i,j=7,4以外),具有:
Σ p = 1 8 n l , j p ≡ W i , j , - - - ( 71 )
这样,公式(66)的≤条件被变换到对于所牵涉到的所有项的不等式。唯一的例外是,对于所有的编码状态p, n 7 , 4 p = 0 , 而W7,4=1。具有下标号21和等于|101010|的相应的字因此不能被使用来达到正确的码字。码字到编码状态的一个可能的分配被显示于表7。
表7.对于具有d=1,r=2和k=∞的RLL码的码字到编码状态的分配
状态   码字 乘数(AE)
S1   000000     8
  000010     8
S2   000100     8
  001000     8
S3   000001     5
  001001     5
  001010     7
S4   010000     8
  010010     8
S5   000101     4
  010001     5
  010100     8
S6   100000     8
  100010     8
S7   010101     3
  100001     5
  100100     8
S8   100101     4
  101000     8
  101001     5
示例的代码设计:具有k=14的k约束条件的代码
在这一节,我们的目的是生成不利用明显地包括的、具有k约束条件的适配的STD来生成k约束条件。长的零序列可以通过全零字|00000|(它被使用于编码状态S1)的许多接连的重复而被生成。全零字在编码状态S1中也具有一个表项目作为下一个状态S1:这样,全零字可以重复地使用,因此禁止对于运行长度上的零的最大数目的有限的k约束条件。按照表7的编码状态S1的字分配在表8上给出。
表8.在对于具有k=∞的RLL码
的状态S1中的码字分配
  项目号   码字   下一个状态
  0   000000   S1
  1   000000   S2
  2   000000   S3
  3   000000   S4
  4   000000   S5
  5   000000   S6
  6   000000   S7
  7   000000   S8
  8   000010   S1
  9   000010   S2
  10   000010   S3
  11   000010   S4
  12   000010   S5
  13   000010   S6
  14   000010   S7
  15   000010   S8
有限的k约束条件可以通过以下步骤被实现:
步骤1.把编码状态S1复制到额外编码状态S9,其中头5项(它们使用全零码字)用在代码构建中至今未使用的码字(即,码字No.21)替代,而它们的下一个状态保持不变。
步骤2.在所有的编码状态中,以至少两个零...00|结尾的和具有S1作为下一个状态的码字被偏移到S9作为下一个状态。
表9在步骤1和2实施后产生两个编码状态,S1与新状态S9。关键的部分具有下划线。具有全部9个编码状态(以及对于每个状态,它的16项)的完整的表可以在下面的表10中找到。
    表9.在对于具有k=14的RLL码的状态S1和S9中的码字分配k=14.
               状态S1     状态S9
  项目号     码字   下一个状态   项目号   码字   下一个状态
  0     000000    S9   0    101010   S1
  1     000000   S2   1    101010   S2
  2     000000   S3   2    101010   S3
  3     000000   S4   3    101010   S4
  4     000000   S5   4    101010   S5
  5     000000   S6   5   000000   S6
  6     000000   S7   6   000000   S7
  7     000000   S8   7   000000   S8
  8     000010   S1   8   000010   S1
  9     000010   S2   9   000010   S2
  10     000010   S3   10   000010   S3
  11     000010   S4   11   000010   S4
  12     000010   S5   12   000010   S5
  13     000010   S6   13   000010   S6
  14     000010   S7   14   000010   S7
  15     000010   S8   15   000010   S8
接连的零的最大数目等于(14),可以如下地实现:
-010|entry-0 S1 000000|entry-6 S9 000000|S7 010101|0-.
表10.对于具有d=1 r=2 k=14 4-到-6RLL码的9状态FSM的代码表
=================================================
**状态-S1****状态-S2****状态-S3****状态-S4****
=================================================
0   000000  9    0   000010  1    0   001010  1    0   010010  1
1   000000  2    1   000010  2    1   001010  2    1   010010  2
2   000000  3    2   000010  3    2   001010  3    2   010010  3
3   000000  4    3   000010  4    3   001010  4    3   010010  4
4   000000  5    4   000010  5    4   001010  5    4   010010  5
5   000000  6    5   000010  6    5   001010  6    5   010010  6
6   000000  7    6   000010  7    6   001010  7    6   010010  7
7   000000  8    7   000010  8    7   001001  1    7   010010  8
8   001000  9    8   000100  9    8   000101  1    8   010000  9
9   001000  2    9   000100  2    9   000101  2    9   010000  2
10  001000  3    10  000100  3    10  000101  3    10  010000  3
11  001000  4    11  000100  4    11  000101  4    11  010000  4
12  001000  5    12  000100  5    12  001001  5    12  010000  5
13  001000  6    13  000100  6    13  001001  2    13  010000  6
14  001000  7    14  000100  7    14  001001  3    14  010000  7
15  001000  8    15  000100  8    15  001001  4    15  010000  8
==================================================
状态-S5****状态-S6****状态-S7****状态-S8****
==================================================
0   010100  9    0   100100  9    0   100010  1    0   101000  9
1   010100  2    1   100100  2    1   100010  2    1   101000  2
2   010100  3    2   100100  3    2   100010  3    2   101000  3
3   010100  4    3   100100  4    3   100010  4    3   101000  4
4   010100  5    4   100100  5    4   100010  5    4   101000  5
5   010100  6    5   100100  6    5   100010  6    5   101000  6
6   010100  7    6   100100  7    6   100010  7    6   101000  7
7   010100  8    7   100100  8    7   100010  8    7   101000  8
8   010001  1    8   100000  9    8   100001  1    8   101001  1
9   010001  2    9   100000  2    9   100001  2    9   101001  2
10  010001  3    10  100000  3    10  100001  3    10  101001  3
11  010001  4  11  100000  4  11  100001  4  11  101001  4
12  010001  5  12  100000  5  12  100001  5  12  101001  5
13  000001  1  13  100000  6  13  100101  1  13  010101  1
14  000001  2  14  100000  7  14  100101  2  14  010101  2
15  000001  3  15  100000  8  15  100101  3  15  010101  3
===================================================
=================
**状态-S9**
=================
0   101010  1
1   101010  2
2   101010  3
3   101010  4
4   101010  5
5   000000  6
6   000000  7
7   000000  8
8   001000  9
9   001000  2
10  001000  3
11  001000  4
12  001000  5
13  001000  6
14  001000  7
15  001000  8
=================
用于译码的实际的方法
译码的处理过程根据图8进行描述。译码是与状态无关的,即,不需要知道编码器编码4比特用户字(该用户字是现在要译码的)的状态。与状态无关的译码是通过这样的事实达到的,每个码字和可能发生的下一个状态组合在(在所有的代码表之中的)一个单个代码表中只出现一次。而且,对于把码字Wi,Wi+1译码成用户字,还需要知道当前的码字的下一个状态。后者的下一个状态可以从紧接在当前的码字Wi后面的下一个码字Wi+1得到。“这是有可能的”的这样的事实是通过构建编码状态而得到的,由此,每个码字Wi,Wi+1(与它的下一个状态无关)在所有的代码表中间的一个单个代码表中只出现一次;所以,下一个码字明确地确定当前的码字的下一个状态。
译码的过程进一步如下地说明。在译码器的输入端处,有两个码字,码字Wi和码字Wi+1。对于两个码字,可以得到下标(例如,根据对于d=1RLL约束条件的枚举的译码:对于6信道比特的码字,从0到20的下标范围)。对于当前的和下一个码字,各个下标被表示为Ii和Ii+1。接着,下标Ii+1藉助于专门的变换表被变换成当前的码字Wi的“下一个状态”:这个表把每个(下标的)码字映射为它属于的状态。这个“下一个状态”被表示为NSi。在与它的译码的下一个状态NSi相组合时,当前的码字Wi的下标(即Ii)的组合是专门的译码表的输入,这产生译码的(4比特)用户字。
通过使用导引的扰码的DC控制
对于DC控制可以使用如以前对于9比特取向的代码和字节取向的代码讨论的导引的扰码。
8比特ECC码元的分布
图6显示在扰码块中包括s个扰码比特的格式的典型的例子。扰码块包括(新的RLL码的)2Nscr个4比特输入码元。对于具有用于DC控制的、与在具有17PP代码的蓝光盘(BD)格式中所使用的类似的附加开销的新的RLL码的可能的格式具有Nscr=22和s=2,这意味着,对于每个扰码块有4个可能的扰码信道比特流。由于明显的理由,有利的是新的RLL码使用根据具有8比特ECC码元(字节)的Reed-Solomon码的代数纠错码(ECC)。在扰码块的开始端插入s=2扰码比特,在它们在新的RRL代码的编码器的输入端处被使用时,干扰4比特码元的正常次序。为了限制错误传播,采用在US6,265,994中公开的措施,正如从图6看到的:显示四个接连的扰码块。在这里,论证是在8比特ECC码元方面给出的,每个包括4比特输入字(在新的RLL码的输入端)。每个扰码块的、除了头两个4比特输入字以外的所有的4比特输入字一一对应于8比特ECC码元。第一扰码块的头两个输入字包括s=2扰码比特,和(8比特的)第一专门ECC码元中的6比特。同样地,第四扰码块的头两个输入字包括s=2扰码比特,和第二专门ECC码元中的6比特。另外两个扰码块在头两个输入字中具有以下的比特:第一,一组s=2扰码比特,然后两组之一,每组包括头两个专门ECC码元的其余2个信息比特,以及最后,第三专门ECC码元的信息比特的一半(因此4个)。这三个专门ECC码元的每个专门ECC码元的8比特用图6上三个椭圆表示。
对于SISO-RLL译码的复杂性考虑
软判决(SISO)比特检测与运行长度限制(RLL)的编码的组合在E.Yamada,T.Iwaki和T.Yamaguchi,“Rurbo Decoding with Run LengthLimited Code for Optical Storage(用于光存储器的具有运行长度有限代码的Rurbo译码)”,Japanese Journal of Applied Physics,Part-1,Vol.41,pp.1753-1756,2002中描述。为了简明起见,仅仅考虑利用分开的SISO信道检测器和SISO-RLL检测器的二阶段方法,如图所示。图9显示LDPC编码器,它接受源比特,并把这些源比特编码成用户比特。用户比特然后由LDPC编码器90来提供给RLL编码器91,后者把用户比特变换成NRZ信道比特。这些NRZ信道比特然后被提供到NRZI编码器92,以便得到NRZI信道比特,这些信道比特可以经由信道而传送或被存储在记录媒体93。
在从信道或记录媒体93进行检索后,SISO信道检测器处理这样接收的HF信号,把HF信号变换成NRZ信道比特,并把NRZ信道比特提供到SISO-RLL译码器95。SISO-RLL译码器95把NRZ信道字变换成用户比特,此后,用户比特被LDPC译码器96处理,以得到源比特。
传统的PRML检测器用一个产生对于NRZ信道比特的LLR(对数或然率比值)的SISO信道检测器94来替代。应当指出,除了BCJR算法以外,还存在用于产生有关NRZ信道比特的LLR软信息的其它算法:在这种意义上,应当广义地理解对图9的SISO信道检测器94的参考,并且也表示如MAP,最大对数MAP,SOVA等等那样的替换的算法(对于更详细的说明,例如参阅Zining Wu,“Coding and IterativeDetection for Magnetic Recording Channels(对磁记录信道的编码和递归的检测)”,Kluwer Academic Publishers,2000)。软判决比特检测器的下一个构建块是所谓的软入软出(SISO)RLL译码器95:它具有作为输入的关于NRZ信道比特的软判决信息(LLR),和具有作为输出的关于用户比特的软判决信息(LLR)。换句话说,SISO-RLL译码器95把施加到NRL信道比特流ck的软判决信息变换成施加到用户比特流uk的软判决信息。应当指出,标准RLL译码器具有作为输入的关于NRZ信道比特ck的硬比特判决,和具有作为输出的作为被检测的(硬)用户比特uk。如在E.Yamada,T.Iwaki和T.Yamaguchi,“Turbo Decodingwith Run Length Limited Code for Optical Storage(用于光存储器的具有运行长度有限代码的Turbo译码)”,Japanese Journal of AppliedPhysics,Part-1,Vol.41,pp.1753-1756,2002公开的、这样的SISO-RLL译码器95需要RLL码的有限状态机(FSM)说明。对于给定的RLL-SISO译码器的硬件复杂性的良好的表示由在译码步骤中分支的数目被给出。
17PP码不是根据ACH算法来构建;它是具有不同的映射的同步变量长度码,全部具有码比值R=2/3。17PP码的实际的映射是(从用户比特到信道比特):2-到-3,4-到-6,6-到-9,和8-到-12。在T.Miyauchi和Y.Iida,in“Soft-Ourput Decoding of 17PP Code(17PP代码的软输出译码)”,Technical Digest ISOM 2003(International Symposium onOptical Memory),Nara,Japan,paper We-PP-13,pp.314-315中指出,在BD标准中使用的17PP RLL码在从可变长度码结构变换成基于FSM的码结构(仅仅用于译码)时具有21状态和79分支的高状态复杂性(每个网格级沿分支具有3输入比特和3信道比特)。对于每个4用户比特的组,这意味着双重复杂性,即,158分支。
本发明的新的RLL码具有9个编码级,每个编码级有一系列16个分支,造成总共144个分支。这意味着,新的RLL码在用于SISO-RLL译码方面比起BD的17PP码减少10%的硬件复杂性,但应当记住,新的RLL码除了这一点以外,还具有有利的r=2约束条件,而17PP只具有r=6。
替换的码字
从以上的码结构可以看到,在编码的信道比特流中不出现6比特码字的某些组合。这涉及到在代码构建期间“丢失”的一个给定的码字的某些项。在出现所述码字(它不需要是同一个码字)的编码状态下,每个丢失的项可被用作为正好一个项的替换的编码项。这个见解生成编码器一侧的某些自由度,该侧可被用作为侧信道,或用于编码的信道比特流的某些其它统计特性(如DC控制)。
第4节
按照本发明的代码的生成
对于以上的代码,得到用于具有d=1和r=2的RLL码的新的构建方法。可以证明,新的构建方法在它可被应用于d和r约束条件的任何组合的意义下是通用的。
该方法涉及到藉助于总的信道码进行的用户比特流到编码的比特流(也称为信道比特流)的变换。这样的信道码把一组M个信息比特变换成一组N个码字比特。第一组比特通常也称为信息字,第二组比特被称为码字或信道字。总的信道码可以通过在预定的重复周期内以循环重复的严格定义的次序的一系列S个子代码的级联而被实现:每个子代码接收在它的输入端处的mi个比特信息字,并被变换成ni比特码字,其中mi和ni是对于每个所考虑的子代码的整数特性。而且,对于每个子代码,第二特性整数ni大于第一特性整数mi;另外,在总的代码的重复周期内所有的子代码的mi数目的总和等于M,以及在总的代码的重复周期内所有的子代码的ni数目的总和等于N。新的构建方法的关键特性在于,对于每个第i子代码,它的ni比特码字被划分成多个T不同的类型,和被安排成T个类别的编码状态,这样,对于给定的第i子代码,类型t的ni比特码字(其中t是在1与T之间的整数)可以与下一个子代码的ni+1比特码字级联,如果下一个子代码的这个以后的码字属于具有下标T+1-t的类别的一个编码状态的话。对于包括d和r约束条件的RLL码结构,可以得到T=1+(d+1)×(r+1)。
首先将对于该多个不同的码字类型说明后一个陈述。码字类型根据码字的结尾比特被规定。而且,相比起具有高下标的码字类型,具有低下标的码字类型对于以后的码字的最前面的比特施加较少的限制。1号码字类型允许与任何的以后的码字级联。属于1号码字类型的码字都以d+1个零结尾,即:
|…0d+1|nr.1
随后,属于码字类型2,3,...,r+2的码字都以10d结尾。应当指出,这个最后的运行是具有最小运行长度(d+1个信道比特)的运行。在这个最后的运行10d之前,可以区分r+1个情形:码字类型2具有大于最小运行长度的运行,码字类型3在最后的运行10d之前具有正好一个最小运行长度,码字类型4在最后的运行10d之前具有正好两个最小运行长度,...,以及码字类型r+2在最后的运行10d之前具有正好r个最小运行长度。这r+1个不同的情形被列出在下面:
| . . . 0 d + 1 10 d ‾ | nr . 2
Figure A20058003109800612
………
Figure A20058003109800613
接着,属于码字类型(r+2)+1,(r+2)+2,...,(r+2)+(r+1)的码字都以10d-1结尾。应当指出,这个最后的运行不能是一个完整的运行,由于它的运行长度比起最小运行长度(d+1个信道比特)正好短一个比特。在这个最后的运行10d-1之前,可以区分r+1个情形:码字类型(r+2)+1具有大于最小运行长度的运行,码字类型(r+2)+2在最后的运行10d-1之前具有正好一个最小运行长度,码字类型(r+2)+3在最后的运行10d-1之前具有正好两个最小运行长度,...,以及码字类型(r+2)+(r+1)在最后的运行10d-1之前具有正好r个最小运行长度。这r+1个不同的情形被列出在下面:
| . . . 0 d + 1 10 d - 1 ‾ | nr . 1 + ( r + 1 ) + 1
Figure A20058003109800615
………
Figure A20058003109800616
不同的码字类型的这种枚举沿着与以上相同的行继续进行:每次,在最后的运行的开始部分的信道比特的数目被减小正好一个信道比特。在给定的阶段,可达到一个其中最后的运行的开始部分包括由10给出的正好两个比特的情形。不同的码字类型(r+1)的数目被列出在下面:
| . . . 0 d + 1 10 ‾ | nr . 1 + ( d - 1 ) × ( r + 1 ) + 1
Figure A20058003109800622
………
Figure A20058003109800623
最后,当达到一个其中最后的运行的开始部分包括由1给出的正好一个比特的情形时,不同的码字类型的这种枚举中的最后的步骤可被达到。不同的码字类型(r+1)的数目被列出在下面:
| . . . 0 d + 1 1 ‾ | nr . 1 + d × ( r + 1 ) + 1
Figure A20058003109800625
………
Figure A20058003109800626
总计有(d+1)枚举步骤(枚举不同的码字类型);对于每个枚举步骤,有r+1不同的码字类型。总计,这等于以上给出的不同的码字类型的数目,T=1+(d+1)×(r+1)。
在引入编码类别的概念之前,最前面的比特图案以与码字类型类似的方式被枚举(但各个最前面的比特图案从相应的码字类型的结尾的比特图案的右面到左面作为镜像版本而被获得)。这导致一个可能的最前面的比特图案的分类表:
|0d+1…    nr.1
| 0 d 1 ‾ 0 d + 1 . . . nr . 2
| 0 d 1 ‾ 0 d 1 ‾ 0 d + 1 . . . nr . 3
………
| 0 d 1 ‾ 0 d 1 ‾ . . . 0 d 1 ‾ 0 d + 1 . . . nr . r + 2
| 0 d - 1 1 ‾ 0 d + 1 . . . nr . 1 + ( r + 1 ) + 1
| 0 d - 1 1 ‾ 0 d 1 ‾ 0 d + 1 . . . nr . 1 + ( r + 1 ) + 2
………
| 0 d - 1 1 ‾ 0 d 1 ‾ . . . 0 d 1 ‾ 0 d + 1 . . . nr . 1 + ( r + 1 ) + ( r + 1 )
………
………
| 01 ‾ 0 d + 1 . . . nr . 1 + ( d - 1 ) × ( r + 1 ) + 1
| 01 ‾ 0 d 1 ‾ 0 d + 1 . . . nr . 1 + ( d - 1 ) × ( r + 1 ) + 2
………
| 01 ‾ 0 d 1 ‾ . . . 0 d 1 ‾ 0 d + 1 . . . nr . 1 + ( d - 1 ) × ( r + 1 ) + ( r + 1 )
| 1 ‾ 0 d + 1 . . . nr . 1 + d × ( r + 1 ) + 1
| 1 ‾ 0 d 1 ‾ 0 d + 1 . . . nr . 1 + d × ( r + 1 ) + 2
………
| 1 ‾ 0 d 1 ‾ . . . 0 d 1 ‾ 0 d + 1 . . . nr . 1 + d × ( r + 1 ) + ( r + 1 )
RLL信道码包括多个编码状态。在本发明中,每个编码状态至少是一个编码类别的一个成员。一个具有下标t的编码类别包括一个具有下标i的最前面的比特图案的所有的码字,其中1≤i≤t。码字类型的结构在一方面以及编码类别在另一方面导致以下的特性,正如在新的码构建方法中使用的那样:属于码字类型t的码字只能跟随在码字后面,如果该码字属于编码类别T+1-t的一个编码状态的话。
更方便的是要指出,由于如上所述的码字类型和编码状态的结构,一个给定的所考虑的编码类别i的pi个编码状态中的每个编码状态也具有大于i的下标的所有的编码类别的编码状态。
对于第一和第二节中以上的例子的情形(d=1和r=2),有T=7个不同的编码类别和码字类型。对于9比特取向的代码、字节取向的代码和具有紧凑的4到6映射的代码(全部具有d=1和r=2),实际的代码是如在以上的节中概述的那样地得到的。
对于d=2 r=2的情形,有T=10个不同的编码类别和码字类型。对于后者情形,实际的代码结构在下一个子节中描述。
对于d=2和r=2的极为有效的RLL码
组合的RLL约束条件d=2和r=2的香农容量等于C(d=2,k=∞,r=2)=0.544997。有可能构建具有32-到-59的用户比特到信道比特的映射的代码,因为它具有比值R=0.542373≤C(d=2,k=∞,r=2):这个新的代码的效率η=R/C(d=2,k=∞,r=2)是使得与理论的上限相比较仅仅丢失小的部分1-η=0.48%。显然,为了任何实际的使用,具有32比特项目的代码本是非常大的。为了克服这个问题,提出遵从在J.J.Ashley和B.H.Marcus,in“Time-Varying Encoders for Constrained Systems:anApproach to Limiting Error Propagation(约束系统的时变编码器:限制差错传播的方案)”,IEEE Transactions on Information Theory,Vol.46,No.3,pp.1038-1043,May2000中给出的算法的各行的解。后者的方法归纳如在R.L.Adler,D.Coppersmith,and M.Hassner,in“Algorithmsfor Sliding Block Codes.An Application of Symbolic Dynamics toInformation Theory(滑动块码算法。把符号动态特性应用到信息理论)”,IEEE Transaction on Information Theory,Vol.IT-29,1983,pp.5-22中公开的、熟知的状态分离算法或ACH算法(被使用于构建有效的滑动块代码),它被用于(在多个阶段)多个代码的级联,其中编码和译码从一个阶段到下一个阶段(或从一个代码到下一个代码)循环进行。实际上,对于具有比值R=32/59的新的代码,总的代码可被实现为具有相应的映射8-到-15,8-到-15,8-到-15,和8-到-14的、被表示为C1,C2,C3和C4的四个子代码的循环级联。
在一般情形下,总的代码由S个子代码实现。概括的ACH算法寻找一组S个近似本征向量(每个子代码一个),其中用vi k表示对于第k个子代码的近似本征向量的第i个系数,它对于描述RLL约束条件的相应的状态转移图(STD)的所有的状态i和对于所有的子代码k(其中对于第k个子代码具有映射mk-到-nk),满足不等式组:
Σ j D i , j m k v j k + 1 ≥ 2 n k v i k . - - - ( 72 )
应当指出,当k=S时,由于该子代码的循环重复周期引起的具有下标k+1的下一个子代码是具有等于1的下标的子代码。在以上的公式中,D代表用于STD的所谓的相邻性矩阵或连接矩阵:如果在图上相应的两个STD状态被连接,则它的矩阵元素等于1,如果相应的两个STD状态没有连接,则它的矩阵元素等于0。对于具有RLL约束条件d=2和r=1的新的代码,四个子代码具有参数m1=m2=m3=m4=8和n1=n2=n3=15和n4=14。(应当指出这四个映射的任何的扰码的但是固定的次序对于另外的代码构建也是正确的次序,并属于本发明的范围。)四个子代码(被表示为C1,C2,C3和C4)的循环重复被示意地显示于图10。图10显示四个子代码C1,C2,C3和C4的重复。用户字101a,101b,101c,101d,101e,101f是8比特。四个子代码C1,C2,C3和C4的重复周期103由箭头表示,它包括四个子代码C1,C2,C3和C4的重复。用户字101a,101b,101c,101d,101e,101f被变换成信道字102a,102b,102c,102d,102e,102f,它们在级联后形成编码的比特流104。子代码之一C4把8比特用户字101e变换成14比特信道字102e,即码字,而其余的子代码C1,C2,C3把用户字101b,101c,101d变换成15比特信道字102b,102c,102d。
这意味着,对于设想的新的总的代码必须满足以下不等式:
Σ j = 1 10 D i , j 15 v j 2 ≥ 2 8 v i 1 , i = 1,2 , . . . , 10 , - - - ( 73 )
Σ j = 1 10 D i , j 15 v j 3 ≥ 2 8 v i 2 , i = 1,2 , . . . , 10 , - - - ( 74 )
Σ j = 1 10 D i , j 15 v j 4 ≥ 2 8 v i 3 , i = 1,2 , . . . , 10 , - - - ( 75 )
以及
Σ j = 1 10 D i , j 14 v j 1 ≥ 2 8 v i 4 , i = 1,2 , . . . , 10 . - - - ( 76 )
现在说明以上的公式的某些参数。对于RLL约束条件d=2和r=2,STD被显示于图11:它包括10个STD状态201,202,203,204,205,206,207,208,209,210。在图11上,状态号被表示为表征状态的圆上的号码,而在正文上,状态被表示为σ1,σ2,...,σ10。应当指出,在这个STD中不考虑k约束条件。k约束条件将在代码设计的以后阶段中被引用,但在当前的STD的适配中将不进行它的引用。给定的STD状态的展开是可以从状态出发的(给定的长度的)码字的集合。对于STD状态σi,该展开被表示为Fσi。对于10个STD状态的展开的信道字的最前面的比特被列出在表11(两个部分,用于头5个状态的部分I和用于最后的5个状态的部分II);在表11上还列出以后要引入的、并被表示为
Figure A20058003109800661
的重新编号的STD状态。最后,在表11上(部分I和部分II)还列出以后将引入的不同的编码类别。
Figure A20058003109800662
  |001001000...
  |001001001000...
  |01000...
Figure A20058003109800671
Figure A20058003109800681
从表11可以看到,在展开中应用以下的分级结构(对于具有最大展开的STD状态σ4):
F σ 8 ⋐ F σ 5 ⋐ F σ 1 ⋐ F σ 9 ⋐ F σ 6 ⋐ F σ 2 ⋐ F σ 10 ⋐ F σ 7 ⋐ F σ 3 ⋐ F σ 4 . ( 77 )
新的RLL码根据多个编码状态而被构建,每个子代码一个编码状态组。按照本发明,这些编码状态被如下地安排成T=1+(d+1)×(r+1)=10(由于d=r=2)个类别:
第一类编码状态的n比特码字属于Fσ8(或
Figure A20058003109800683
第二类编码状态的n比特码字属于Fσ5(或
Figure A20058003109800684
第三类编码状态的n比特码字属于Fσ1(或
Figure A20058003109800685
第四类编码状态的n比特码字属于Fσ9(或
Figure A20058003109800686
第五类编码状态的n比特码字属于Fσ6(或
Figure A20058003109800687
第六类编码状态的n比特码字属于Fσ2(或
第七类编码状态的n比特码字属于Fσ10(或 );
第八类编码状态的n比特码字属于Fσ7(或
Figure A20058003109800692
);
第九类编码状态的n比特码字属于Fσ3(或
Figure A20058003109800693
);
第十类编码状态的n比特码字属于Fσ4(或
Figure A20058003109800694
);
由于按照本发明的编码类别的这个特定的排序,编码类别i的编码状态也是具有不小于i的下标j(即j≥i)的所有的编码类别的编码状态。因此,方便的是如下地排序码字的最前面比特的可能的图案:
表12.最前面比特图案的排序情形d=2和f=2
i     图案
1     |000...
2     |001000...
3     |001001000...
4     |001001001000...
5     |01000...
6     |01001000...
7     |01001001000...
8     |1000...
9     |1001000...
10     |1001001000...
另外,对于按照本发明的代码构建,有利的是考虑如在表13概述的结尾比特图案的以下的排序(还表示了STD的到达状态、原先的STD状态和重新编号的STD状态)。按照本发明,码字可被划分成10种不同的码字类型,如由相应的码字的结尾比特图案规定的。
Figure A20058003109800701
应当指出,(表13的)排序的结尾比特图案是(表12的)相应的排序的最前面比特图案的镜像版本。接着,讨论已提到的STD状态的重新编号。现在方便的是根据如在表13上列出的结尾比特图案的排序重新编号STD的状态。这个新的排序在表13的最后两列上列出。新的重新编号的状态被表示为
Figure A20058003109800702
通过这个新的编号,类型i的码字将在具有相同的下标的(重新编号的)STD状态,即
Figure A20058003109800703
中出现;因此,类型i的码字可以与属于类别T+1-i=11-i的编码状态的任何码字被级联为以后的码字。应当指出,属于类别T+1-i=11-i的编码状态的码字具有下标l的最前面比特图案(来自表12),其中1≤1≤11-i。作为例子,类型3的码字(以结尾比特图案...000100100|结束)可以与来自类别8的编码状态的码字级联,这意味着后者的码字可以从最前面的比特图案(表12)i=1,i=2,...,i=8开始。这种把码字划分成T=10种不同的类型的码字,和把编码状态安排在T=10个不同的编码类别,形成用于进一步的码构建的基础:这样,RLL约束条件d=2和r=2总是保持为被满足,而且也是在循环的接连的子代码的码字级联后的情况下。从表13可以看到,在展开时以下的分级结构应用于重新编号的STD状态:
F σ ` 10 ⋐ F σ ` 9 ⋐ F σ ` 8 ⋐ F σ ` 7 ⋐ F σ ` 6 ⋐ F σ ` 5 ⋐ F σ ` 4 ⋐ F σ ` 3 ⋐ F σ ` 2 ⋐ F σ ` 1 . - - - ( 78 )
重新编号的STD状态 具有全部中的最大的展开,以及
Figure A20058003109800713
是最小的展开,并且具有按照从
Figure A20058003109800714
的减小的展开的枚举的排名。对于重新编号的STD状态和被表示为
Figure A20058003109800716
的相应的重新安排的连接矩阵,近似的本征向量不等式(对于“新的”本征向量 )被重新写为:
Σ j = 1 10 D ` l , j 15 v ~ j 2 ≥ 2 8 v ~ l 1 , l = 1,2 , . . . , 10 , - - - ( 79 )
Σ j = 1 10 D ` l , j 15 v ~ j 3 ≥ 2 8 v ~ l 2 , l = 1,2 , . . . , 10 , - - - ( 80 )
Σ j = 1 10 D ` l , j 15 v ~ j 4 ≥ 2 8 v ~ l 3 , l = 1,2 , . . . , 10 , - - - ( 81 )
以及
Σ j = 1 10 D ` l , j 14 v ~ j 1 ≥ 2 8 v ~ l 4 , l = 1,2 , . . . , 10 . - - - ( 82 )
可能的码字的最前面的比特图案和结尾比特图案在表12和13中被标识。以最前面的比特图案i开始的和以结尾比特图案j结束的这个长度n的码字的数目被表示为Wij[n]。在专心检查后,其结果是:
D ` l , j n = Σ i = 1 11 - l W i , j [ n ] . - - - ( 83 )
(其中号码11是从T+1得到的,并且T=10)。知道这个公式后,近似本征向量不等式可被重写为:
Σ l = 1 l Σ j = 1 10 W i , j [ 15 ] v ~ j 2 ≥ 2 8 v ~ 11 - l 1 , l = 1,2 , . . . , 10 , - - - ( 84 )
Σ l = 1 l Σ j = 1 10 W i , j [ 15 ] v ~ j 3 ≥ 2 8 v ~ 11 - l 2 , l = 1,2 , . . . , 10 , - - - ( 85 )
Σ i = 1 l Σ j = 1 10 W i , j [ 15 ] v ~ j 4 ≥ 2 8 v ~ 11 - l 3 , l = 1,2 , . . . , 10 , - - - ( 86 )
以及
Σ l = 1 l Σ j = 1 10 W i , j [ 14 ] v ~ j 1 ≥ 2 8 v ~ 11 - l 4 , l = 1,2 , . . . , 10 . - - - ( 87 )
每个编码类别的编码状态的数目由用于第s个子代码(s=1,2,3,4)的向量ps表示。它与近似本征向量
Figure A20058003109800722
的关系被给出为(对于第i个分量,其中1≤i≤10):
p i s = v ~ 11 - i s . - - - ( 88 )
应当指出,通过这个有利的构建,编码类别具有一个正好与重新编号的STD状态的编号系统互补的编号系统;这可以从表11看到的,其中提到STD状态的重新编号,但没有加以说明。而且,再次由于不同的编码类别的特定的构建,以下的不等式成立(对于每个子代码s,s=1,2,3,4):
p 1 s ≤ p 2 s ≤ p 3 s . . . ≤ p 10 s . - - - ( 89 )
代码设计:具有k=∞的代码
首先,考虑没有k约束条件(k=∞)的情形。对于长度n=15和n=14的、具有最前面的比特图案(i)和结尾比特图案(j)的码字的数目,表示为Wij[n],被给出为:
W [ 15 ] = 41 13 4 1 19 6 2 28 9 3 13 4 1 1 6 2 1 9 3 1 4 1 1 0 2 1 0 3 1 0 1 1 0 0 1 0 0 1 0 0 19 6 2 1 9 3 1 13 4 1 6 2 1 0 3 1 0 4 1 1 2 1 0 0 1 0 0 1 1 0 28 9 3 1 13 4 1 19 6 2 9 3 1 0 4 1 1 6 2 1 3 1 0 0 1 1 0 2 1 0 - - - ( 90 )
W [ 14 ] = 28 9 3 1 13 4 1 19 6 2 9 3 1 0 4 1 1 6 2 1 3 1 0 0 1 1 0 2 1 0 1 0 0 0 1 0 0 1 0 0 13 4 1 1 6 2 1 9 3 1 4 1 1 0 2 1 0 3 1 0 1 1 0 0 1 0 0 1 0 0 19 6 2 1 9 3 1 13 4 1 6 2 1 0 3 1 0 4 1 1 2 1 0 0 1 0 0 1 1 0 - - - ( 91 )
代码设计:具有k约束条件的代码
为了不利用明显地被包括的、具有k约束条件的适配的STD来生成k约束条件,有利的是限制码字中最前面的和结尾的零的数目。在码字中的最前面的零的最大数目被表示为I0;结尾的零的最大数目被表示为r0。在对于I0和r0的附加约束条件下,对于码字长度n,具有特定的最前面比特图案i和结尾比特图案j的码字的数目被表示为Wi,j l0,r0[n]。应当指出,以前定义的矩阵可被表示为:
W i , j [ n ] ≡ W i , j ∞ , ∞ . - - - ( 92 )
附加约束条件k=26是通过对于四个子代码选择I0=r0=13而实现的。矩阵W13,13[15]和W13,13[14]被给出为:
W 13,13 [ 15 ] = 40 13 4 1 19 6 2 27 9 3 13 4 1 1 6 2 1 9 3 1 4 1 1 0 2 1 0 3 1 0 1 1 0 0 1 0 0 1 0 0 19 6 2 1 9 3 1 13 4 1 6 2 1 0 3 1 0 4 1 1 2 1 0 0 1 0 0 1 1 0 27 9 3 1 13 4 1 19 6 2 9 3 1 0 4 1 1 6 2 1 3 1 0 0 1 1 0 2 1 0 - - - ( 93 )
W 13,13 [ 14 ] = 27 9 3 1 13 4 1 19 6 2 9 3 1 0 4 1 1 6 2 1 3 1 0 0 1 1 0 2 1 0 1 0 0 0 1 0 0 1 0 0 13 4 1 1 6 2 1 9 3 1 4 1 1 0 2 1 0 3 1 0 1 1 0 0 1 0 0 1 0 0 19 6 2 1 9 3 1 13 4 1 6 2 1 0 3 1 0 4 1 1 2 1 0 0 1 0 0 1 1 0 - - - ( 94 )
应当指出,对于在长度n=14的码字中最前面的和结尾的零的数目的这个选择,仅仅全零码字被省略(这意味着,在位置(1,1)处的矩阵元素,与不具有k约束条件的矩阵相比较减小一个单位);对于n=15的情形,另外,两个码字|1014|和|0141|也被省略。重写的近似本征向量不等式的实际的、近似本征向量组被给出为:
v ~ 1 = { 26,26,24,18,17,16,12,12,11,8 } , - - - ( 95 )
v ~ 2 = { 24,23,21,16,16,15,11,11,10,7 } , - - - ( 96 )
v ~ 3 = { 22,21,19,15,14,13,10,10,9,7 } , - - - ( 97 )
v ~ 4 = { 20,19,18,13,13,12,9,9,8,6 } . - - - ( 98 )
具有8-到-15映射的、被表示为C1的第一代码具有总共26个编码状态;具有8-到-15映射的、被表示为C2的第二代码具有总共24个编码状态;具有8-到-15映射的、被表示为C3的第三代码具有总共22个编码状态;以及具有8-到-14映射的、被表示为C4的第四代码具有总共20个编码状态。在T=10个不同的编码类别上(对于每个子代码的)全部数目的编码状态的分布由近似本征向量(对于给定的子代码)来控制。
对于具有k=26的代码的代码表的构建
代码表这样地被构建,以使得一个(具有所有的它的可能的下一个状态)码字只能以一个特定的编码状态出现。对于译码操作,这意味着,下一个码字唯一地规定当前的码字的”下一个状态”函数。
对于具有k=26的代码的编码和译码
编码
为了编码8比特用户字,必须知道:
(1)这个必须通过它来编码当前的用户字的子代码Ci;以及
(2)被表示为Ci-Sj的子代码Ci的状态j,和要被使用于编码的相应的代码表。
在编码过程中,编码器生成以下项作为输出:
(1)按照要被使用的代码表的码字;
(2)对于编码下一个8比特用户字要使用的下一个子代码,它就是Ci+1(由于四个子代码的循环重复,对于i=4,它等于C1);以及
(3)按照在编码当前的用户字后要被使用的代码表的下一个子代码Ci+1的下一个状态,其中这个下一个状态将规定:对于用于下一个子代码Ci+1编码下一个8比特用户字,要使用哪个代码表。
译码
译码是与状态无关的,即,不需要知道编码器编码8比特用户字(该用户字是现在要译码的)的状态。与状态无关的译码是通过这样的事实达到的:每个码字和可能发生的下一个状态组合在(所有的代码表中间的)一个单个代码表中只出现一次。而且,对于把码字译码成用户字,还需要知道当前的码字的下一个状态。后者的下一个状态可以从紧接在当前的码字后面的下一个码字得到。“这是有可能的”的这样的事实是通过构建编码状态而得到的,由此,每个码字(与它的下一个状态无关)在所有的代码表之中的一个单个代码表中只出现一次;所以,下一个码字明确地确定当前的码字的下一个状态。应当指出,(用子代码Cp编码的)给定的码字的下一个状态是下一个子代码(即Cp+1)的可能的状态中的一个状态。
译码的过程进一步如下地说明。在译码器的输入端处,有两个码字,即,用子代码Cp编码的码字Wi,和用下一个子代码Cp+1编码的码字Wi+1。对于两个码字,并且与被应用到每个码字Wi和Wi+1的子代码无关地,可以得到一个下标(例如,根据对于d=1 RLL的枚举)。对于当前的和下一个码字,各个下标被表示为Ii和Ii+1。接着,下标Ii+1藉助于专门的变换表(它取决于被施加到所考虑的码字Wi+1的子代码)被变换成当前的码字Wi的下一个状态:对于所考虑的子代码(它在这里是Cp+1),这个表把每个码字(的下标)映射为它所属于的状态。这个“下一个状态”被表示为NSi。与它的译码的下一个状态NSi相组合,当前的码字Wi的下标的组合,即Ii,是对于给定的子代码Cp的专门的译码表的输入,这产生译码的(8比特)用户字。
第5节
具有d=1和具有紧凑的2到3映射的RMTR约束条件r=2的RLL码
关于硬判决比特检测,以上提出具有r=2的RMTR约束条件的某些新的d=1 RLL码,它们对于在第1节的RLL编码器的输入端处9比特用户字以及对于在第2节的RLL编码器的输入端处8比特用户字,具有非常高的效率。这些代码在编码状态的数目方面具有大的复杂性;而且,它们在它们的输入端具有长度8或9比特的用户字。后两个方面使得这些高度有效的d=1与r=2 RLL码不适用于软判决RLL译码,因为,为了在这种情形下限制硬件复杂性,只能允许有限数目的编码状态,并且应当具有从用户比特到信道比特的简明的代码映射。然而,在当前的ID中,也将利用导致以极其高的效率进行后两种d=1与r=2 RLL码的代码构建的见解,来生成一个具有如在下一节中规定的所有的特性的新的代码,这使得它特别适用于软判决SISO-RLL译码。这个建议的第一个努力已导致如上所述的、具有4-到-6映射的新的代码。当前的第二个努力牵涉到可能的最紧凑的映射,即,一个具有2-到-3映射的新的代码。
适用于软判决RLL译码的d=1与r=2 RL代码
r=2 RLL约束条件对于信道译码器(它可以是一个用于硬判决比特检测的PRML比特检测器和用于软判决比特检测的BCJR比特检测器或最大对数信道检测器)的性能是有利的。例如,对于硬判决比特检测,r=2约束条件在r≥6的情形下产生约5%的容量增益。所以,当前的ID的目的是生成具有以下特性的d=1 RLL码:
·它具有RMTR约束条件r=2;
·它具有有限的数目的编码状态;
·它不必具有极高的效率,因为对于后者的选择会导致代码的太大的复杂性,这使得它不适用于软判决SISO-RLL译码;所以R=2/3的代码比值仍旧是可以满足的;
·它具有简明的映射,例如2-到-3,限制来自代码的每个编码状态的分支展开到22=4;
·另外,它必须优选地也具有k约束条件。
所有的以上的特性是通过如下的代码构建实现的。
总的方面
当前的代码设计的目的是具有一个用户比特到信道比特的紧凑的映射的信道码,这样,软判决SISO-RLL译码器的硬件复杂性可以保持为很低(在分支的总数方面)。新的代码具有用户比特到信道比特的2-到-3的映射(因此具有一个R=2/3的代码比值)。正如上面所讨论的,组合的RLL约束条件d=1和r=2的香农容量等于C(d=1,k=∞,r=2)=0.679286。有可能构建一个具有2到3的用户比特到信道比特的映射的代码,因为它具有比值R=0.6667≤C(d=1,k=∞,r=2)。
滑动块代码的构建是基于如在R.L.Adler,D.Coppersmith,andM.Hassner,“Algorithms for Sliding Block Codes.An Application ofSymbolic Dynamics to Information Theory(滑动块码算法。把符号动态特性应用到信息理论)”,IEEE Transaction on InformationTheory,Vol.IT-29,1983,pp.5-22中公开的ACH算法。这个算法寻找一组近似本征向量,并且用vi表示近似本征向量的第i个系数,它对于描述RLL约束条件(对于一个具有m到n映射的代码)的相应的状态转移图(STD)的所有的状态i,满足不等式组:
Σ j D i , j n v j ≥ 2 m v i . - - - ( 89 )
在以上的公式中,D表示用于STD的所谓的相邻性矩阵或连接矩阵:如果在图上相应的两个STD状态被连接,则它的矩阵元素等于1,如果相应的两个STD状态没有连接,则它的矩阵元素等于0。对于具有RLL约束条件d=1和r=2的新的代码,代码具有参数m=2和n=3。这意味着,对于设想的新的代码(在描述RLL约束条件的状态转移图上状态的数目等于7;见下一个子节)必须满足以下不等式:
Σ j = 1 7 D i , j 3 v j ≥ 2 2 v i , i = 1,2 , . . . , 7 . - - - ( 90 )
状态转移图(STD)
应当指出,状态转移图(STD)描述信道比特流必须满足的基本运行长度约束条件。一个满足这些运行长度约束条件的RLL码是基于一个包括一定数目的状态的有限状态机(FSM)。RLL码的码字沿着代码的FSM的分支被显示。考虑RLL编码器处在给定的FSM状态;对于2m=4输入字的每个输入字,具有从所述FSM状态出发的唯一的分支。每个分支由作为码字的分支标签以及作为所述分支的到达状态的“下一个状态”唯一地表征。按照FSM的结构的码字的级联导致在STD中概述的一个满足运行长度约束条件的信道比特流。
对于RLL约束条件d=1和r=2,STD被显示于图2:它包括7个STD状态,被表示为σ1,σ2,...,σ7。应当指出,在这个STD中不考虑k约束条件。
接着,分析每个STD状态的展开。给定的STD的展开是可以从状态出发的(给定的长度的)码字的集合。对于STD状态σi,展开被表示为Fσi。对于7个STD状态的展开的信道字的最前面的比特被列出在表14。由于目的是一个具有2到3映射的代码,即具有3比特信道字或码字的代码,与以前设计的、具有较长的码字的代码相比,该分析被稍微调整。给定的STD状态的展开的码字中的特征比特图案在某些情形下包括三个以上的信道比特;在这种情形下,给定的STD状态的展开还限制紧接在从所考虑的STD状态发出的当前的3比特码字后面的3比特码字的可能性,这是因为r=2约束条件。在表14上还列出被表示为 的重新编号的STD状态。最后,在表1上还列出以后要引入的、不同的编码类别。为了完整性起见,应当指出,在接连的3比特码字之间的字边界由垂直线“|”表示。
Figure A20058003109800791
从表14可以看到,在展开中应用以下的分级结构(对于具有最大展开的STD状态σ3):
F σ 6 ⋐ F σ 4 ⋐ F σ 1 ⋐ F σ 7 ⋐ F σ 5 ⋐ F σ 2 ⋐ F σ 3 . - - - ( 91 )
新的RLL码根据多个编码状态被构建。按照本发明,这些编码状态被如下地安排成(最大值)七个类别(Tmax=1+(d+1)×(r+1),对于d=1和r=2,它等于7):
第一类编码状态的n比特码字属于Fσ6(或
Figure A20058003109800801
);
第二类编码状态的n比特码字属于Fσ4(或
Figure A20058003109800802
);
第三类编码状态的n比特码字属于Fσ1(或
Figure A20058003109800803
);
第四类编码状态的n比特码字属于Fσ7(或 );
第五类编码状态的n比特码字属于Fσ5(或
Figure A20058003109800805
);
第六类编码状态的n比特码字属于Fσ2(或
Figure A20058003109800806
);
第七类编码状态的n比特码字属于Fσ3(或
Figure A20058003109800807
);
由于按照本发明的编码类别的这个特定的排序,编码类别i的编码状态也是具有不小于i的下标j,即j≥i,的所有的编码类别的编码状态。因此,方便的是如下地排序码字的最前面比特的可能的图案(其中在某些情形下,还需要表示一个或甚至两个以后的码字的相关的比特):
表15.最前面比特图案的排序(″x″表示″不用管的比特″)
i     图案
1     |00x|xxx|xx...
2     |010|0xx|xx...
3     |010|100|xx...
4     |010|101|00...
5     |100|xxx|xx…
6     |101|00x|xx...
7     |101|010|0x...
另外,对于按照本发明的代码构建,有利的是考虑如在表16概述的结尾比特图案的以下的排序(还指示STD的到达状态、原先的STD状态和重新编号的STD状态)。按照本发明,码字可被划分成7种不同的类型,如由它们的结尾比特图案规定的。对于仅仅3比特的短的码字长度(用于2-到-3映射),码字类型将取决于当前的码字的比特,也取决于以前发出的码字的某些(即使不上全部)比特。
Figure A20058003109800811
应当指出,(表16的)排序的结尾比特图案是(表15的)相应的排序的最前面比特图案的镜像版本。接着,讨论已提到的STD状态的重新编号。现在方便的是根据如在表16上列出的结尾比特图案的排序重新编号STD的状态。这个新的编号在表16的最后两列上列出。新的重新编号的状态被表示为
Figure A20058003109800812
通过这个新的编号,类型i的码字将在具有相同的下标,即 的(重新编号的)STD状态中出现;因此,基本法则是:
类型i的码字可以与属于类别8-i的编码状态的任何码字被级联为一个以后的码字。
应当指出,属于类别8-i的编码状态的码字具有带有下标l的最前面比特图案(来自表15),其中1≤l≤8-i。作为例子,类型3的码字(以结尾比特图案...001010|结束)可以与来自类别5的编码状态的码字级联,这意味着后者的码字可以从最前面的比特图案(表15)i=1,i=2,...,i=5开始。这种把码字划分成7种不同的类型的码字,以及把编码状态安排在7个不同的编码类别,形成用于进一步的码构建的基础:这样,RLL约束条件d=1和r=2总是保持为满足的(并且也在码字级联的情况下)。从表16,可以看到,在展开时以下的分级结构应用于重新编号的STD状态:
F σ ` 7 ⋐ F σ ` 6 ⋐ F σ ` 5 ⋐ F σ ` 4 ⋐ F σ ` 3 ⋐ F σ ` 2 ⋐ F σ ` 1 . - - - ( 92 )
重新编号的STD状态
Figure A20058003109800822
具有全部中的最大的展开,以及
Figure A20058003109800823
是最小的展开,并且具有按照从
Figure A20058003109800824
Figure A20058003109800825
的递减的展开的枚举的排名。对于重新编号的STD状态,和被表示为
Figure A20058003109800826
的相应的重新安排的连接矩阵,近似的本征向量不等式(对于“新的”本征向量
Figure A20058003109800827
)被重新写为:
Σ j = 1 7 D ` l , j 3 v ~ j ≥ 2 2 v ~ l , l = 1,2 , . . . , 7 . - - - ( 93 )
每个编码类别的编码状态的数目由向量p表示。它与近似本征向量
Figure A20058003109800829
的关系被给出为(对于第i个分量,其中1≤i≤7):
p l = v ~ 8 - l . - - - ( 94 )
应当指出,通过这个有利的构建,编码类别具有一个正好与重新编号的STD状态的编号系统互补的编号系统;这可以从表14看到,其中提到STD状态的重新编号,但没有加以说明。而且,再次由于不同的编码类别的特定的结构,以下的不等式成立:
p1≤p2≤p3...p7.    (95)
微不足道的编码类别的概念
在以上的说明中,假设当从RLL编码器的FEM码发出码字时,所有的STD状态被看作为到达的状态。这相应于一个近似本征向量的情形,其中它的所有的分量是非零的。然而,在藉助于ACH算法的代码构建中,有可能某些STD状态具有等于0的近似本征向量的分量。为了简单化起见,让我们只考虑其中只有一个这样的STD状态的情形,它具有下标8-j,以使得 v ~ 8 - j = 0 (具有一个以上的这样的STD状态的情形是一个微不足道的扩展)。相应的编码类别于是具有下标j,其中pj=0,即该编码类别是空的,因为它不包含编码状态。这样的空的编码类别被称为微不足道的编码类别。所以,非微不足道(非空的)编码类别的实际的数目(被表示为Ncc)必须满足关系Ncc<Tmax=1+(d+1)×(r+1)。如公式(95)概述的、在用于不同的编码类别的编码状态的数目中的分级结构仅仅应用于非微不足道的编码类别。这是对于具有d=1和r=2的实际的例子说明的,其中编码类别j是微不足道的编码类别(pj=0)。在非微不足道的编码类别的数目pi中的分级结构于是被读为(对于具有等于Tmax=1+(d+1)×(r+1)的最大数目的编码类别的一般情形下):
p 1 ≤ p 2 ≤ . . . ≤ p j - 1 ≤ p j + 1 ≤ . . . ≤ p T max . - - - ( 96 )
实际的设计选择
作为方便的近似本征向量,可以选择v={3,5,5,2,4,2,0),或 v ~ = { 5,5,4,0,3,2,2 } . 对于作为编码类别中编码状态的数目的数pj,可以得到p={2,2,3,0,4,5,5)。有一个微不足道的空的编码类别,即,具有下标j=4的编码类别。所以,非微不足道编码类别的数目(被表示为T或Ncc)等于6。用CCi来表示编码类别,得到编码状态在编码类别上的以下的分布:
表17.在3-到-3 d=1和r=2 RLL码中对于编码类别的编码状态
编码类别 编码状态
CC1 1,∑2
CC2 1,∑2
CC3 1,∑2,∑3
CC4 非(微不足道的CC)
CC5 1,∑2,∑3,∑4
CC6 1,∑2,∑3,∑4,∑5
CC7 1,∑2,∑3,∑4,∑5
下面是可以在每个编码类别中被使用的码字列表:
编码类别CC1
码字 “下一个状态” 项目数
|000| 1,∑2,∑3,∑4,∑5 5
|001| 1,∑2,∑3 3
总计: 8
正好适配于头两个状态∑1和∑2
编码类别CC2
与CC1相同。
编码类别CC3
码字 “下一个状态” 项目数
|010| 1,∑2,∑3,∑4 4
总计: 4
正好适配于1个额外状态∑3
编码类别CC4
因为微不足道的编码状态而不能应用。
编码类别CC5
码字 “下一个状态” 项目数
 010| 5 1
 100| 1,∑2,∑3,∑4,∑5 5
总计: 6
在使用4个用于1个额外状态∑4后剩余2个
编码类别CC6
码字 “下一个状态” 项目数
|101|  ∑1,∑2 2
总计: 2
来自CC6的剩余的2个正好适配于1个额外状态∑5
编码类别CC7
与CC6相同。
代码表:具有经由导引的扰码的DC控制的代码
应当指出,编码状态∑1和∑2正在使用码字000和001;另外三个编码状态∑3,∑4和∑5使用另外三个码字|010|,|100|和|101|。有两个不连贯的组的码字。这样,这个结果可被使用来限制用于前视译码的译码窗口(将其限制到除了当前的3比特码字以外的三个接着的3比特码字)。从以上的考虑得到的代码表被列为下面的“代码表(A)”:
代码表(A)d=1 r=2 2-到-3映射5状态FSM
用户双比特  ∑1  ∑2  ∑3  ∑4  ∑5
    00  000∑1  000∑3  010∑3  100∑3  100∑1
    01  000∑2  000∑4  010∑4  100∑4  100∑2
    10  001∑1  000∑5  010∑1  100∑5  101∑1
    11  001∑2  001∑3  010∑2  010∑5  101∑2
接着,为了对它应用DC控制,应当对于这个代码实现奇偶校验保存特性。作为中间步骤,用同一个状态内的表项目的某些改组,把代码表(A)变换成代码表(B)。“代码表(B)”被列出在下面:
代码表(B)d=1 r=2 2-到-3映射5状态FSM,准备用于变换到PP码
用户双比特  ∑1  ∑2  ∑3  ∑4  ∑5
    00  000∑1  000∑3  010∑1  100∑5  101∑1
    01  001∑1  001∑3  010∑3  100∑3  100∑1
    10  001∑2  000∑5  010∑4  100∑4  100∑2
    11  000∑2  000∑4  010∑2  010∑5  101∑2
具有用于DC控制的奇偶校验保存特性的代码表
以上的代码表(B)还不是奇偶校验保存的。通过添加两个额外的状态,实现奇偶校验保存的RLL码。最后的代码表(C)变为:
代码表(C)d=1和r=2 PP 2-到-3映射 状态FSM
 用户双比特 1 2 3 4 5 6 7
    00 000∑1 000∑3 010∑6 100∑5 100∑1 001∑1 001∑3
    01 001∑1 001∑3 010∑3 100∑3 101∑1 000∑1 000∑3
    10 001∑2 000∑5 010∑4 100∑4 101∑2 000∑2 000∑4
    11 000∑2 000∑4 010∑7 010∑5 100∑2 001∑2 000∑5
贯穿额外编码外框架的k=13约束条件
从以上的编码表(代码的PP版本和非PP版本)可以看到,有可能发出有限的零的流(具有用户双比特“00”的项“0”从FSM状态∑1的无限的重复)。目的是在执行FSM编码器后实现在要被执行的贯穿额外编码外框架的k有限约束条件。现在集中在这个具有它的7状态FSM的代码的PP版本方面的说明。可以根据编码表来分析,|101|010|的比特图案不能被这个编码器产生。这个方面被使用来根据这个特别的图案执行信道比特流的替换。在编码器处,这个额外的替换组以与FSM编码器合并的方式被实行;在译码器处,这个额外的替换组在滑动块译码器之前被执行(在硬判决比特检测的情形下)。描述在与FSM编码器合并的编码器处的这个替换组,必须区分以下的10个特别的情形。
对于k=13的额外替换
″cs″:当前的FSM状态″ns″:下一个FSM状态
    号     cs          双比特输入字     ns
    1     1   00   00   00   00     1
    2     6   01   00   00   00     1
    3     1   00   00   00   11     2
    4     6   01   00   00   11     2
    5     1   00   00   11   00     3
    6     6   01   00   11   00     3
    7     1   00   00   11   10     5
    8     6   01   00   11   10     5
    9     1   00   00   11   11     4
    10     6   01   00   11   11     4
对于这些输入图案的每个图案,通过使用PP版本的代码表(以上的代码表(C)),信道比特流将变为:
|000|000|000|000|    (97)
通过使用替换,信道比特流被替换为:
|000|101|010|010|    (98)
应当指出,在信道比特流中后12比特串是唯一的,因为它不能通过使用FSM编码器而被生成。而且,在12比特串的开始端和末端处在FSM编码器中当前的状态(cs)和下一个状态(ns)不改变:这使得有可能在译码器一侧在信道比特流上执行后向替换,而不需要知道编码器状态。这对于错误传播的最小化是有利的。而且,这些替换保留代码的总的PP特性。可以检验,k=13约束条件可以这样地实现。
第6节
适用于软判决RLL译码的、具有紧凑的2-到-3映射的d=1,r=2,k=12RLL码
作为用于这个例子的方便的近似本征向量,可以选择v={6,10,10,5,9,4,6},或 v ~ = { 10,10,9,6,6,5,4 } . 对于作为编码类别中编码状态的数目的数Pj,我们必须有P={4,5,6,6,9,10,10}。不存在微不足道的空的编码类别,所以,非微不足道的编码类别的数目(被表示为T或Ncc)等于T=Tmax=7。用CCi表示编码类别,下面给出编码状态在编码类别上的分布:
表5.在2-到-3 d=1和r=2 RLL码中对于编码类别的编码状态
编码类别 编码状态
CC1 1,∑2,∑3,∑4
CC2 1,∑2,∑3,∑4,∑5
CC3 1,∑2,∑3,∑4,∑5,∑6
CC4 1,∑2,∑3,∑4,∑5,∑6
CC5 1,∑2,∑3,∑4,∑5,∑6,∑7,∑8,∑9
CC6 1,∑2,∑3,∑4,∑5,∑6,∑7,∑8,∑9,∑10
CC7 1,∑2,∑3,∑4,∑5,∑6,∑7,∑8,∑9,∑10
可以在每个编码类别中使用的码字
编码类别CC1
码字 “下一个状态” 项目数
|000|  ∑1直到∑10 10
|001|  ∑1直到∑6 6
总计: 16
正好适配于头四个状态∑1直到∑4
编码类别CC2
码字 “下一个状态” 项目数
|010| 1直到∑6 6
总计: 6
在使用4个用于1个额外状态∑5后剩余2个
编码类别CC3
码字 “下一个状态” 项目数
|010| 1直到∑9 9-4=5
总计: 5
在使用4个用于1个额外状态∑6后剩余1个
编码类别CC4
码字 “下一个状态” 项目数
|010| 1直到∑10 10-8=2
总计: 2
剩余的2个供进一步使用
编码类别CC5
码字 “下一个状态” 项目数
|100| 1直到∑10 10
总计: 10
来自CC4的剩余的2个正好适配于3个额外状态∑7直到∑9
编码类别CC6
码字 “下一个状态” 项目数
|101| 1直到∑4 4
总计: 4
正好适配于用于1个额外状态∑10
编码类别CC7
码字 “下一个状态” 项目数
|101| 1直到∑5 5-4=1
总计: 1
不需要;对于k约束条件的有用的替换
不具有k约束条件的代码表
对于具有d=1,k=∞,r=2 RLL约束条件的10状态FSM的最终得到的代码表被显示为如下:
代码表具有10状态有限状态机的d=1 k=∞ r=2
=========================================================*状态
-S1*状态-S2*状态-S3*状态-S4*状态-S5*状态-S6
=========================================================
0  000  1    0  000  6    0  000  5    0  001  1    0  010  1    0  010  6
1  000  2    1  000  7    1  000  10   1  001  2    1  010  2    1  010  7
2  000  3    2  000  8    2  001  5    2  001  3    2  010  3    2  010  8
3  000  4    3  000  9    3  001  6    3  001  4    3  010  4    3  010  9
=========================================================
=========================================================*状态
-S7*状态-S8*状态-S9*状态S10*
=========================================================
0  100  5    0  100  1    0  100  6    0  101  1
1  100  10   1  100  2    1  100  7    1  101  2
2  010  5    2  100  3    2  100  8    2  101  3
3  010  10   3  100  4    3  100  9    3  101  4
=================================================
具有k=12约束条件的代码表
应当指出,在以上的代码表中,不使用具有下一个状态∑5的码字|101|(如从编码类别CC7可得到的)。所以,它可被使用来实现有限的k约束条件,即k=12,这是通过把具有由具有下一个状态∑5的所述未使用的码字|101|替代的它的第一项(具有下一个状态∑1的|000|)的状态∑1复制成一个附加的编码状态(被表示为∑11)而实现的;另外,第一编码状态∑1的第一项本身从具有下一个状态∑1的|000|改变到具有下一个状态∑11的|000|。
对于具有d=1,k=12,r=2 RLL约束条件的11状态FSM的最终得到的代码表被显示在下面:
代码表具有11状态有限状态机的d=1 k=12 r=2
=================================================
*状态-S1*状态-S2*状态-S3*状态-S4*状态-S5*状态-S6
=================================================
0  000  11   0  000  6    0  000  5    0  001  1    0  010  1    0  010  6
1  000  2    1  000  7    1  000  10   1  001  2    1  010  2    1  010  7
2  000  3    2  000  8    2  001  5    2  001  3    2  010  3    2  010  8
3  000  4    3  000  9    3  001  6    3  001  4    3  010  4    3  010  9
=================================================
*状态-S7*状态-S8*状态-S9*状态S10*状态S11*
=================================================
0  100  5    0  100  1    0  100  6    0  101  1    0  101  5
1  100  10   1  100  2    1  100  7    1  101  2    1  000  2
2  010  5    2  100  3    2  100  8    2  101  3    2  000  3
3  010  10   3  100  4    3  100  9    3  101  4    3  000  4
=================================================

Claims (64)

1.一种藉助于总的信道码把用户比特流变换成编码的比特流的方法,包括以下步骤:
-把M比特信息字变换成N比特码字;
-通过以预定的重复周期按循环重复次序对S个子代码级联来实现所述总的信道码,其中每个该子代码接收mi比特信息字,其中mi是对于每个要被变换成ni比特码字的子代码的整数特征,其中ni是对于每个该子代码的整数特征,以及其中对于每个子代码,所述特征整数ni大于所述特征整数mi,这样,在所述重复周期内所有的子代码的mi数的总和等于M,以及在所述重复周期内所有的子代码的ni数的总和等于N,以及
-对于每个子代码,把它的ni比特码字划分成Tmax个不同的码字类型,并把它的ni比特码字安排在Tmax编码类别的编码状态,这样,对于给定的子代码,一个类型t的ni比特码字。可以与下一个子代码的ni+1比特码字级联,如果所述下一个子代码的所述以后的码字属于具有下标Tmax+1-t的编码类别的编码状态之一的话,其中t是在1与Tmax之间的整数,通过所述级联,形成一个级联的码字组,从而实现用于生成所述编码的比特流的所述总的信道码的N比特码字。
2.如在权利要求1中要求的方法,其中码字类型由所述码字的结尾比特的数目来确定。
3.如在权利要求1中要求的方法,其中码字类型由所述码字的所有的比特以及以前的码字的至少一个比特来确定。
4.如在权利要求2或权利要求3中要求的方法,其中实现所述编码的比特流的级联的N比特码字组满足dkr-约束条件,其中d是指在编码的比特流中两个接连的1比特之间的0比特的最小数目,和k是指在编码的比特流中两个接连的1比特之间的0比特的最大数目,以及其中r指示d个0比特的接连的最小运行的最大数目,该d个0比特中的每个0比特之前是一个1比特。
5.如在权利要求4中要求的方法,其中不同的码字类型T和非空的编码类别的数目,不大于Tmax=1+(d+1)×(r+1),其中非空的编码类别被规定为具有至少一个编码状态。
6.如在权利要求4中要求的方法,其中不同的码字类型的数目T和非空的编码类别的数目T,其中T等于Tmax=1+(d+1)×(r+1)。
7.如在权利要求5或6中要求的方法,其中d=1和r=2,以及Tmax等于7。
8.如在权利要求7中要求的方法,其中T=Tmax=7和其中子代码的数目S等于6。
9.如在权利要求8中要求的方法,其中子代码之一具有m=8和n=11的映射,而另外的子代码具有m=8和n=12的映射。
10.如在权利要求7中要求的方法,其中T=Tmax=7和子代码的数目S等于3。
11.如在权利要求4中要求的方法,其中子代码之一具有m=9和n=14,而另外的子代码具有m=9和n=13。
12.如在权利要求4中要求的方法,其中T=Tmax=7和子代码的数目S等于1。
13.如在权利要求12中要求的方法,其中子代码具有m=4和n=6的映射。
14.如在权利要求12中要求的方法,其中单个子代码具有m=2和n=3的映射。
15.如在权利要求5或6中要求的方法,其中对于每个子代码,编码状态的所述T≤Tmax个非空中的每个编码类别包括p1,p2,...,pmax编码状态,其中微不足道的空的编码类别被忽略,这样,对于表示非空的编码类别的状态的非零数目的数目p1≤p2≤...≤pmax和对于给出所述考虑的子代码的编码状态的总数的pmax,进一步的特征在于一个给定的所考虑的类别“i”的pi个编码状态中的每个编码状态也是具有大于“i”的下标的所有的类别的编码状态。
16.如在权利要求7中要求的方法,其中对于每个子代码,通过以下的法则组来规定对于不同的码字类型的结尾比特,即,
第一类型的n比特码字以“00”结尾,
第二类型的n比特码字以“0010”结尾,
第三类型的n比特码字以“001010”结尾,
第四类型的n比特码字以“00101010”结尾,
第五类型的n比特码字以“001”结尾,
第六类型的n比特码字以“00101”结尾,
第七类型的n比特码字以“0010101”结尾,
以及其中属于不同的编码类别的码字的最前面的比特通过以下的法则组被确定,即,
第一类的编码状态的n比特码字以“00”开始,
第二类的编码状态的n比特码字以“00”或“0100”开始,
第三类的编码状态的n比特码字以“00”,“0100”或“010100”开始,
第四类的编码状态的n比特码字以“00”,“0100”,“010100”或“01010100”开始,
第五类的编码状态的n比特码字以“00”,“0100”,“010100”,“01010100”或“100”开始,
第六类的编码状态的n比特码字以“00”,“0100”,“010100”,“01010100”,“100”或“10100”开始,
第七类的编码状态的n比特码字以“00”,“0100”,“010100”,“01010100”,“100”,“10100”或“1010100”开始。
17.如在权利要求9和权利要求16中要求的方法,其中对第一子代码而言,对于T=7个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7分别等于p1=11,p2=15,p3=17,p4=17,p5=24,p6=27,和p7=28,和其中对第二子代码而言,对于7个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7分别等于p1=10,p2=14,p3=15,p4=16,p5=22,p6=25,和p7=26,和其中对第三子代码而言,对于7个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7分别等于p1=9,p2=13,p3=14,p4=14,p5=20,p6=23,和p7=24,和其中对第四子代码而言,对于7个类别的编码状态的每个类别的编码状态的数目  p1,p2,p3,p4,p5,p6,p7分别等于p1=8,p2=11,p3=13,p4=13,p5=19,p6=21,和p7=22,和其中对第五子代码而言,对于7个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7分别等于p1=8,p2=11,p3=12,p4=12,p5=17,p6=19,和p7=20,和其中对第六子代码而言,对于7个类别的编码状态的每个类别的编码状态的数目P1,P2,P3,P4,P5,P6,P7分别等于p1=7,p2=10,p3=11,p4=12,p5=16,p6=18,和p7=19。
18.如在权利要求11和权利要求16中要求的方法,其中对第一子代码而言,对于T=7个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7分别等于p1=7,p2=10,p3=11,p4=11,p5=16,p6=18,和p7=19,和其中对第二子代码而言,对于7个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7分别等于p1=8,p2=12,p3=13,p4=13,p5=19,p6=21,和p7=22,和其中对第三子代码而言,对于7个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7分别等于p1=10,p2=14,p3=15,p4=16,p5=22,p6=25,和p7=26。
19.如在权利要求13和权利要求16中要求的方法,其中对于T=7个类别的编码状态的每个类别的编码状态的数目分别等于p1=3,p2=4,p3=5,p4=5,p5=7,p6=8,和p7=8。
20.如在权利要求19中要求的方法,其中有限的k约束条件通过额外编码状态被实现。
21.如在权利要求14和权利要求16中要求的方法,其中非微不足道的编码类别的数目T等于6,编码类别号4是空的类别,产生p4=0,以及其中对于编码状态的T个非微不足道的编码类别的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7分别是p1=2,p2=2,p3=3,p5=4,p6=5,和p7=5。
22.如在权利要求21中要求的方法,其中奇偶校验保存特性通过多个额外编码状态被实现。
23.如在权利要求21中要求的方法,其中有限的k约束条件通过在基本的代码的“2到3”映射的顶部上的额外编码框架而被实现。
24.如在权利要求21中要求的方法,其中d=2和r=2,以及Tmax等于10。
25.如在权利要求24中要求的方法,其中T=Tmax=10,以及子代码的数目S等于6。
26.如在权利要求25中要求的方法,其中一个子代码具有m=8和n=14的映射,而另外的子代码具有m=8和n=15的映射。
27.如在权利要求24中要求的方法,其中对于每个子代码,通过以下的法则组规定对于不同的码字类型的结尾比特,即
第一类型的n比特码字以“000”结尾,
第二类型的n比特码字以“000100”结尾,
第三类型的n比特码字以“000100100”结尾,
第四类型的n比特码字以“000100100100”结尾,
第五类型的n比特码字以“00010”结尾,
第六类型的n比特码字以“00010010”结尾,
第七类型的n比特码字以“00010010010”结尾,
第八类型的n比特码字以“0001”结尾,
第九类型的n比特码字以“0001001”结尾,
第十类型的n比特码字以“0001001001”结尾,
以及其中属于不同的编码类别的码字的最前面的比特通过以下的法则组被确定,即
第一类的编码状态的n比特码字以“000”开始,
第二类的编码状态的n比特码字以“000”或“001000”开始,
第三类的编码状态的n比特码字以“000”,“001000”或“001001000”开始,
第四类的编码状态的n比特码字以“000”,“001000”,“001001000”或“001001001000”开始,
第五类的编码状态的n比特码字以“000”,“001000”,“001001000”,“001001001000”或“01000”开始,
第六类的编码状态的n比特码字以“000”,“001000”,“001001000”,“001001001000”,“01000”或“01001000”开始,
第七类的编码状态的n比特码字以“000”,“001000”,“001001000”,“001001001000”,“01000”,“01001000”或“01001001000”开始,
第八类的编码状态的n比特码字以“000”,“001000”,“001001000”,“001001001000”,“01000”,“01001000”,“01001001000”或“1000”开始,
第九类的编码状态的n比特码字以“000”,“001000”,“001001000”,“001001001000”,“01000”,“01001000”,“01001001000”,“1000”或“1001000”开始,
第十类的编码状态的n比特码字以“000”,“001000”,“001001000”,“001001001000”,“01000”,“01001000”,“01001001000”,“1000”,“1001000”或“1001001000”开始。
28.如在权利要求26或权利要求27中要求的方法,其中对第一子代码而言,对于T=10个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7,p8,p9,p10分别等于p1=8,p2=11,p3=12,p4=12,p5=16,p6=17,p7=18,p8=24,p9=26和p10=26,和其中对第二子代码而言,对于10个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7,p8,p9,p10分别等于p1=7,p2=10,p3=11,p4=11,p5=15,p6=16,p7=16,p8=21,p9=23和p10=24,和其中对第三子代码而言,对于10个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7,p8,p9,p10分别等于p1=7,p2=9,p3=10,p4=10,p5=13,p6=14,p7=15,p8=19,p9=21,和p10=22,和其中对第四子代码而言,对于10个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7,p8,p9,p10分别等于p1=6,p2=8,p3=9,p4=9,p5=12,p6=13,p7=13,p8=18,p9=19,和p10=20。
29.如在权利要求14或权利要求16中要求的方法,其中非微不足道的编码类别的数目T等于7,以及对于编码状态的7个非微不足道编码类别的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7分别等于p1=4,p2=5,p3=6,p4=6,p5=9,p6=10,和p7=10。
30.如在权利要求29中要求的方法,其中k=12约束条件通过在代码的有限状态机中的额外编码状态被实现。
31.如在权利要求29或权利要求30中要求的方法,其中导引扰码的方法被使用于DC控制。
32.一种藉助于总的信道码通过把M比特信息字变换成N比特码字而把用户比特流变换成编码的比特流的编码器,编码器包括以预定的重复周期按循环次序重复的子编码器,每个子编码器使用子代码,其中每个子编码器被安排成接收mi比特信息字,其中mi是对于每个子代码的整数特征,以及被安排成把接收的mi比特信息字变换成ni比特码字,其中ni是对于每个子代码的整数特征,以及其中对于每个子代码,所述特征整数ni大于所述特征整数mi,这样,在所述重复周期内所有的子代码的mi数的总和等于M,以及在所述重复周期内所有的子代码的ni数的总和等于N,其中对于每个子代码,它的ni比特码字被划分成Tmax个不同的码字类型,并把它的ni比特码字安排在Tmax个编码类别的编码状态,这样,对于给定的子代码,类型t的ni比特码字可以与下一个子代码的ni+1比特码字级联,如果所述下一个子代码的所述以后的码字属于具有下标Tmax+1-t的编码类别中的一个编码状态的话,其中t是1与Tmax之间的整数,所述级联可形成一个级联的代码字,因而生成所述编码的比特流和实现所述总的信道码的所述N比特码字。
33.如在权利要求32中要求的编码器,其中码字类型由所述码字的结尾比特的数目来确定。
34.如在权利要求32中要求的编码器,其中码字类型由所述码字的所有的比特以及以前的码字的至少一个比特来确定。
35.如在权利要求33或权利要求34中要求的编码器,其中实现所述编码的比特流的级联的N比特码字满足dkr约束条件,其中d是指在编码的比特流中两个接连的1比特之间的0比特的最小数目,和k是指在编码的比特流中两个接连的1比特之间的0比特的最大数目,以及其中r指示d个0比特的接连的最小运行的最大数目,其中在每个0比特之前是一个1比特。
36.如在权利要求35中要求的编码器,其中不同的码字类型T和非空的编码类别的数目不大于Tmax=1+(d+1)×(r+1),其中非空的编码类别被规定为具有至少一个编码状态。
37.如在权利要求35中要求的编码器,其中不同的码字类型的数目T和非空的编码类别的数目T,其中T等于Tmax=1+(d+1)×(r+1)。
38.如在权利要求36或37中要求的编码器,其中d=1和r=2,以及Tmax等于7。
39.如在权利要求38中要求的编码器,其中T=Tmax=7和其中子编码器的数目S等于6。
40.如在权利要求39中要求的编码器,其中一个子编码器使用具有m=8和n=11的映射,而另外的子编码器使用具有m=8和n=12的映射。
41.如在权利要求40中要求的编码器,其中T=Tmax=7和子代码器的数目S等于3。
42.如在权利要求41中要求的编码器,其中一个子编码器使用具有m=9和n=14的映射,而另外的子代码器使用具有m=9和n=13的映射。
43.如在权利要求38中要求的编码器,其中T=Tmax=7和子编码器的数目S等于1。
44.如在权利要求43中要求的编码器,其中子编码器使用具有m=4和n=6的映射。
45.如在权利要求43中要求的编码器,其中单个子编码器使用具有m=2和n=3的映射。
46.如在权利要求36或37中要求的编码器,其中对于每个子编码器,编码状态的所述T≤Tmax个非空的编码类别的每个编码类别包括pi,p2,...,pmax编码状态,其中微不足道的空的编码类别被忽略,这样,对于表示非空的编码类别的状态的非零数目的数目p1≤p2≤...≤pmax和给出所述考虑的子代码的编码状态的总数的pmax,进一步的特征在于给定的所考虑的类别“i”的pi个编码状态中的每个编码状态也是具有大于“i”的下标的所有的类别的编码状态。
47.如在权利要求38中要求的编码器,其中对于每个子编码器,通过以下的法则组规定对于不同的码字类型的结尾比特,即,
第一类型的n比特码字以“00”结尾,
第二类型的n比特码字以“0010”结尾,
第三类型的n比特码字以“001010”结尾,
第四类型的n比特码字以“00101010”结尾,
第五类型的n比特码字以“001”结尾,
第六类型的n比特码字以“00101”结尾,
第七类型的n比特码字以“0010101”结尾,
以及其中属于不同的编码类别的码字的最前面的比特通过以下的法则组被确定,即,
第一类的编码状态的n比特码字以“00”开始,
第二类的编码状态的n比特码字以“00”或“0100”开始,
第三类的编码状态的n比特码字以“00”,“0100”或“010100”开始,
第四类的编码状态的n比特码字以“00”,“0100”,“010100”或“01010100”开始,
第五类的编码状态的n比特码字以“00”,“0100”,“010100”,“01010100”或“100”开始,
第六类的编码状态的n比特码字以“00”,“0100”,“010100”,“01010100”,“100”或“10100”开始,
第七类的编码状态的n比特码字以“00”,“0100”,“010100”,“01010100”,“100”,“10100”或“1010100”开始。
48.如在权利要求40和权利要求47中要求的编码器,其中对第一子编码器而言,对于T=7个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7分别等于p1=11,p2=15,p3=17,p4=17,p5=24,p6=27,和p7=28,和其中对第二子编码器而言,对于7个类别的编码状态的每个类别的编码状态的数目P1,P2,P3,P4,P5,P6,P7分别等于p1=10,p2=14,p3=15,p4=16,p5=22,p6=25,和p7=26,和其中对第三子编码器而言,对于7个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7分别等于p1=9,p2=13,p3=14,p4=14,p5=20,p6=23,和p7=24,和其中对第四子编码器而言,对于7个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7分别等于p1=8,p2=11,p3=13,p4=13,p5=19,p6=21,和p7=22,和其中对第五子编码器而言,对于7个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p7分别等于p1=8,p2=11,p3=12,p4=12,p5=17,p6=19,和p7=20,和其中对第六子编码器而言,对于7个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7分别等于p1=7,p2=10,p3=11,p4=12,p5=16,p6=18,和p7=19。
49.如在权利要求43和权利要求47中要求的编码器,其中对于第一子编码器而言,对于T=7个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7,分别等于p1=7,p2=10,p3=11,p4=11,p5=16,p6=18,和p7=19,和其中对第二子编码器而言,对于7个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7分别等于p1=8,p2=12,p3=13,p4=13,p5=19,p6=21,和p7=22,和其中对于第三子编码器而言,对于7个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7分别等于p1=10,p2=14,p3=15,p4=16,p5=22,p6=25,和p7=26。
50.如在权利要求44和权利要求47中要求的编码器,其中对于T=7个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7分别等于p1=3,p2=4,p3=5,p4=5,p5=7,p6=8,和p7=8。
51.如在权利要求50中要求的编码器,其中有限的k约束条件通过额外编码状态来实现。
52.如在权利要求45和权利要求47中要求的编码器,其中非微不足道的编码类别的数目T等于6,编码类别号4是空的类别,产生p4=0,以及其中对于编码状态的6个非微不足道的编码类别的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7分别等于p1=2,p2=2,p3=3,p5=4,p6=5,和p7=5。
53.如在权利要求52中要求的编码器,其中奇偶校验保存特性通过多个额外编码状态来实现。
54.如在权利要求52中要求的编码器,其中该子编码器包括具有该代码的基本的2到3映射的有限状态机,并且其中有限的k约束条件通过在该有限状态机的顶部上的额外编码框架来实现。
55.如在权利要求36或37中要求的编码器,其中d=2和r=2,以及Tmax等于10。
56.如在权利要求55中要求的编码器,其中T=Tmax=10,以及子编码器的数目S等于6。
57.如在权利要求56中要求的编码器,其中一个子编码器使用具有m=8和n=14的映射,而另外的子编码器使用具有m=8和n=15的映射。
58.如在权利要求55中要求的编码器,其中对于每个子编码器而言,通过以下的法则组规定对于不同的码字类型的结尾比特,即,
第一类型的n比特码字以“000”结尾,
第二类型的n比特码字以“000100”结尾,
第三类型的n比特码字以“000100100”结尾,
第四类型的n比特码字以“000100100100”结尾,
第五类型的n比特码字以“00010”结尾,
第六类型的n比特码字以“00010010”结尾,
第七类型的n比特码字以“00010010010”结尾,
第八类型的n比特码字以“0001”结尾,
第九类型的n比特码字以“0001001”结尾,
第十类型的n比特码字以“0001001001”结尾,
以及其中属于不同的编码类别的码字的最前面的比特通过以下的法则组被确定,即
第一类的编码状态的n比特码字以“000”开始,
第二类的编码状态的n比特码字以“000”或“001000”开始,
第三类的编码状态的n比特码字以“000”,“001000”或“001001000”开始,
第四类的编码状态的n比特码字以“000”,“001000”,“001001000”或“001001001000”开始,
第五类的编码状态的n比特码字以“000”,“001000”,“001001000”,“001001001000”或“01000”开始,
第六类的编码状态的n比特码字以“000”,“001000”,“001001000”,“001001001000”,“01000”或“01001000”开始,
第七类的编码状态的n比特码字以“000”,“001000”,“001001000”,“001001001000”,“01000”,“01001000”或“01001001000”开始,
第八类的编码状态的n比特码字以“000”,“001000”,“001001000”,“001001001000”,“01000”,“01001000”,“01001001000”或“1000”开始,
第九类的编码状态的n比特码字以“000”,“001000”,“001001000”,“001001001000”,“01000”,“01001000”,“01001001000”,“1000”或“1001000”开始,
第十类的编码状态的n比特码字以“000”,“001000”,“001001000”,“001001001000”,“01000”,“01001000”,“01001001000”,“1000”,“1001000”或“1001001000”开始。
59.如在权利要求26或权利要求27中要求的编码器,其中对第一子编码器而言,对于T=10个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7,p8,p9,p10分别等于p1=8,p2=11,p3=12,p4=12,p5=16,p6=17,p7=18,p8=24,p9=26和p10=26,和其中对第二子编码器而言,对于10个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7,p8,p9,p10分别等于p1=7,p2=10,p3=11,p4=11,p5=15,p6=16,p7=16,p8=21,p9=23和p10=24,和其中对第三子编码器而言,对于10个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7,p8,p9,p10分别等于p1=7,p2=9,p3=10,p4=10,p5=13,p6=14,p7=15,p8=19,p9=21,和p10=22,和其中对第四子编码器而言,对于10个类别的编码状态的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7,p8,p9,p10分别等于p1=6,p2=8,p3=9,p4=9,p5=12,p6=13,p7=13,p8=18,p9=19,和p10=20。
60.如在权利要求45或权利要求47中要求的编码器,其中非微不足道的编码类别的数目T等于7,以及对于编码状态的7个非微不足道编码类别的每个类别的编码状态的数目p1,p2,p3,p4,p5,p6,p7分别等于p1=4,p2=5,p3=6,p4=6,p5=9,p6=10,和p7=10。
61.如在权利要求60中要求的编码器,其中k=12约束条件通过在子编码器的有限状态机中的额外编码状态来实现。
62.如在权利要求60或权利要求61中要求的编码器,其中导引扰码的方法被使用于DC控制。
63.一种包括信号的记录媒体,该信号包括通过使用如在权利要求1到31的任一项中要求的方法来编码的编码比特流。
64.一种记录器,包括如在权利要求32到62的任一项中要求的编码器。
CN2005800310986A 2004-09-15 2005-09-08 用于编码具有r=2的rmtr约束条件的代码的编码器和方法 Expired - Fee Related CN101023585B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP04104449.6 2004-09-15
EP04104449 2004-09-15
PCT/IB2005/052933 WO2006030349A1 (en) 2004-09-15 2005-09-08 Coder and a method of coding for codes having a rmtr constraint of r=2

Publications (2)

Publication Number Publication Date
CN101023585A true CN101023585A (zh) 2007-08-22
CN101023585B CN101023585B (zh) 2010-06-16

Family

ID=35509289

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800310986A Expired - Fee Related CN101023585B (zh) 2004-09-15 2005-09-08 用于编码具有r=2的rmtr约束条件的代码的编码器和方法

Country Status (7)

Country Link
US (2) US7403138B2 (zh)
EP (1) EP1792404A1 (zh)
JP (1) JP2008514088A (zh)
KR (1) KR20070054241A (zh)
CN (1) CN101023585B (zh)
TW (1) TW200627811A (zh)
WO (1) WO2006030349A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1966895A2 (en) * 2005-12-19 2008-09-10 Koninklijke Philips Electronics N.V. A coder and a method of coding for codes with a parity-complementary word assignment having a constraint of d=1, r=2
EP1990918A1 (en) * 2007-05-07 2008-11-12 Deutsche Thomson OHG Method and apparatus for channel coding
US8159375B2 (en) 2007-10-01 2012-04-17 Rambus Inc. Simplified receiver for use in multi-wire communication
US7916605B2 (en) * 2009-03-30 2011-03-29 General Electric Company Joint DC minimization and bit detection
US9318145B2 (en) * 2009-03-30 2016-04-19 General Electric Company Method for decoding under optical and electronic noise
US8327247B2 (en) * 2009-03-30 2012-12-04 General Electric Company Bit probability estimation method for noisy modulation code
EP2254248A1 (en) 2009-05-19 2010-11-24 Thomson Licensing Method for modifying a channel encoder finite state machine, and method for channel encoding
US9092213B2 (en) * 2010-09-24 2015-07-28 Intel Corporation Functional unit for vector leading zeroes, vector trailing zeroes, vector operand 1s count and vector parity calculation
US8659450B1 (en) * 2011-04-21 2014-02-25 Sk Hynix Memory Solutions Inc. MTR and RLL code design and encoder and decoder
KR20130080203A (ko) * 2012-01-04 2013-07-12 삼성전자주식회사 셀 상태들의 비대칭 특성을 고려한 프로그램 데이터를 생성하는 방법 및 그것을 이용한 메모리 시스템
US9324371B2 (en) * 2012-07-02 2016-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for multi-stage decoding processing
US8730067B2 (en) 2012-08-02 2014-05-20 Lsi Corporation Optimized multi-level finite state machine with redundant DC nodes
US20140143289A1 (en) * 2012-11-20 2014-05-22 Lsi Corporation Constrained System Endec
US10312947B2 (en) * 2016-01-21 2019-06-04 Huawei Technologies Co., Ltd. Concatenated and sliding-window polar coding
US11424766B1 (en) * 2020-01-31 2022-08-23 Marvell Asia Pte Ltd. Method and device for energy-efficient decoders

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5387911A (en) * 1992-02-21 1995-02-07 Gleichert; Marc C. Method and apparatus for transmitting and receiving both 8B/10B code and 10B/12B code in a switchable 8B/10B transmitter and receiver
US5943368A (en) * 1996-07-08 1999-08-24 U.S. Philips Corporation Transmission, recording and reproduction of a digital information signal
US6265994B1 (en) * 1998-01-09 2001-07-24 U.S. Philips Corporation Device for encoding/decoding n-bit source words into corresponding m-bit channel words, and vice versa
JP3882308B2 (ja) * 1998-01-26 2007-02-14 ソニー株式会社 符号分割方法
JP3985173B2 (ja) * 1998-05-29 2007-10-03 ソニー株式会社 変調装置および方法、復調装置および方法、並びにデータ格納媒体
WO2001052258A1 (en) * 2000-01-07 2001-07-19 Koninklijke Philips Electronics N.V. Method of converting a stream of databits of a binary information signal into a stream of databits of a constrained binary channel signal, device for encoding, signal comprising a stream of databits of a constrained binary channel signal, record carrier and device for decoding
EP1282942A1 (en) * 2000-05-10 2003-02-12 Koninklijke Philips Electronics N.V. Method of converting a stream of databits of a binary information signal into a stream of databits of a constrained binary channel signal, device for encoding, signal comprising a stream of databits of a constrained binary channel signal, record carrier, method for decoding, device for decoding
EP1290691A1 (en) * 2000-05-25 2003-03-12 Koninklijke Philips Electronics N.V. Detector, reproduction system, receiver and method
CN100474782C (zh) 2000-11-11 2009-04-01 Lg电子株式会社 信息编码和解码的方法和设备,记录介质及其制作方法
US7339500B2 (en) * 2001-10-03 2008-03-04 Sony Corporation Encoding method and decoding method

Also Published As

Publication number Publication date
US20070257826A1 (en) 2007-11-08
WO2006030349A1 (en) 2006-03-23
US20090027239A1 (en) 2009-01-29
JP2008514088A (ja) 2008-05-01
KR20070054241A (ko) 2007-05-28
EP1792404A1 (en) 2007-06-06
TW200627811A (en) 2006-08-01
CN101023585B (zh) 2010-06-16
US7403138B2 (en) 2008-07-22

Similar Documents

Publication Publication Date Title
CN101023585B (zh) 用于编码具有r=2的rmtr约束条件的代码的编码器和方法
CN101341658B (zh) 具有约束d=1,r=2的、具有奇偶互补字分配的码的编码器和编码方法
US5859601A (en) Method and apparatus for implementing maximum transition run codes
US8078935B2 (en) Method and system for encoding and decoding information with modulation constraints and error control
JP3902763B2 (ja) データビットストリームをデコード及び変換する方法及び装置並びに信号及びレコードキャリア
US7191386B2 (en) Method and apparatus for additive trellis encoding
Immink Constructions of almost block-decodable runlength-limited codes
Immink Error detecting runlength-limited sequences
Cai et al. A general construction of constrained parity-check codes for optical recording
Soljanin et al. Application of distance enhancing codes
KR101995592B1 (ko) 데이터를 디코딩하는 방법 및 시스템
Cai et al. On the design of efficient constrained parity-check codes for optical recording
Almustapha et al. Multi-track 2D joint signal detection and decoding for TDMR system using single parity-check coding
Cai et al. Distance-Enhancing Constrained Codes for Optical Recording Channels
KR102002649B1 (ko) 데이터를 디코딩하는 방법 및 시스템
McLaughlin et al. One-pairs codes for partial response magnetic recording
Lee et al. DC-free coding of run-length-limited codes for multi-level optical recording systems
Marcus et al. Modulation codes for digital data storage
Cai et al. Constrained Parity-Check Code and Post-Processor for Advanced Blue Laser Disk
Kunisa Comparison of Hardware Complexity between Convolutional Guided Scrambling and Galois-Field-Addition Guided Scrambling for Digital Recording.
Aviran Constrained coding and signal processing for data storage systems
Soljanin Decoding techniques for some specially constructed dc-free codes
Scripcariu et al. Variable-length Run-Length Limited codes
KR20070074640A (ko) 변조 제약과 에러 제어를 가지는 정보를 인코딩 및디코딩하는 방법 및 시스템

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100616

Termination date: 20100908