一光盘片被包含于申请案并且合并于其中做为参照用之具有以包含ASCII归位之ASCII未压缩字符格式之计算机程序列表附件,定义于ASCII内之ASCII线输入及句柄,具有IBM PC/XT/AT兼容之计算机兼容性,具有与MS-Windows兼容之操作系统并包括22,800字节的file source_code_3234.txt,在2002年9月23日制作。
具体实施方式
图1表示使用本发明32/34码之系统。图1之预传递之一半系统可以被简要归纳为b→c→d→y,其中b被编码至c,c被预编码至d,而d被y过滤。编码器100接收32位输入资料(b1....b32),其中(b1....b32)指示32位字符的向量。编码器100对输入数据编码,并输出被编码的资料(c1...c34)的34位。预编码器102接收编码器100的编码输出(c1...c34)并在序列(c1...c34)上执行互斥或(XOR)状态转换以产生一输出序列(d1...d34)。频道滤波器104接收该序列(d1...d34),基于该序列(d1...d34)执行另一状态转换,并输出所产生的序列(y1...y34)。
资料y随后在传递阶段106被加上一电位噪声。此传递阶段106可以随机地扰乱序列(y1...y34)中的符元,因此产生序列(r1...r34)。对字符(y1...y34)中的每一符元y(i),存在着传递阶段106将以噪声误差n(i)扰乱y(i)的某些可能性(通常是随机的)。由侦测器108所接收之传递的结果可以被标示为向量加法(y1...y34)+(n1...n34)=(r1...r34),或符元加法r(i)=y(i)+r(i)。序列(r1...r34)通常被称为接收的序列。
图1所示的分发-传递半系统可以被归纳为:r→y’→d’→c’→b’,其中r被腓特比侦测至y’,y’被过滤为d’,d’被反相预编码至c’,而c’被译码为b’。
侦测器108,通常是腓特比侦测器,接收可能的扰乱序列(r1...r34)并产生(y’1..y’34),其为具有可能1或更多误差位或被扰乱中之位的(y1..y34)的重新架构。当任何符元y’(i)有误差时,亦即当y’(i)≠y(i)时,一频道输出误差事件已发生。频道输出误差事件通常可归因为噪声n。
一反相频道率波器110接收y’并转换(y’1..y’34)为(d’1...d’34)。一反相-预编码器112接收d’并藉由执行预编码器102之逆转而转换(d’1...d’34)至(c’1...c’34)。当d’之一位,称为d’(j)与其对应的原始位d(j)不同时,称围频道误差事件发生。通常在频道输入误差事件与频道输出误差事件之间存在一对一的对应。换句话说,由频道滤波器所过滤之频道输入误差事件导致对应的输出误差事件。此外,频道输入误差事件及频道输出误差事件可跨越码字符边界。
译码器114接收(c’1...c’34),输入编码器100之一反相,并输出输入资料(b1...b32)之重现(b’1..b’34),其中在b’中的某些重现话译码的位可能有误差。也就是说,对某些原始位b(i)及对应的重现位b’(i),有可能b(i)≠b’(i)。在重现资料b’中之误差通常是在c’中所接收之一或更多误差的传播,并且以下被称为译码器输出误差。
虽然表示分离的单元,译码器108,反相频道滤波器110及反相预编码器112的功能可以具有多种的设计。例如,腓特比侦测器108可以被建构为包含频道滤波器110,反相预编码器112,或二者的功能。
误差事件的讨论
本发明的一种形式是典型的误差进入译码器产生被译码器输出之短误差。以大部份的译码器,由译码器接收之一误差被传播至译码器之输出。一译码器之误差传播可以用由于典型或预期的输出误差所造成之误差的输出位的数目的方面来了解。也就是说,本发明的32/34码确保造成译码器输出误差的译码器输日误差(或一特定范围内之输入误差)不大于4字节(byte),即使在输入误差跨越二码字符边界的情况中。有一些典型的跨越码字符边界之误差,于该情况中希望二码字符不要完全错误。典型的跨越边界误差是需要的以便传播至二相关码字符之间之不大于4字节。
通常,如以下所述之细节,接收的或译码器传播的误差对所有具有平方距离≤1.5xd mfb2之封闭的误差事件而言不大于4资料字节,其中d mfb2为匹配的过滤边界之平方距离(综合说明中得特性6)。稍后将讨论此特性。
图2表示腓特比侦测器之格子120的范例。图2所示之格子120仅为讨论之用,其特定的结构并不被使用于本编码系统路径122代表原始或真实路径122。路径124代表对应原始路径122之侦测的路径124,但其中某些y’位与它们原始的路径122偏离。区域126为封闭的误差事件,有些时候称为一钻石。封闭的误差事件或钻石是一个格子转变的序列,其中经由格子的真实的转变从原始转变偏离,且于某些转变之后,真实的转变路径回到真实的原始转变路径。误差或钻石的平方距离为
其中p及q为一误差事件边界。一误差事件可以展开多重码字符或可能被限制为1码字符例如,对于二连续字符y1=(y1,1,y1,2...y1,34)及y2=(y2,1,y2,2...y2,34),如果p=1,34且q=2,2,则误差事件的平方距离为(y1,34-y’1,34)2+(y2,1-y’2,1)2+(y2,2-y’2,2)2。
一格子系一决定的状态机器,而格子上的可能误差事件或钻石可以被预知。假设一组滤波器之类似的封闭误差事件,d mfb2,可被用以定义将由那些封闭的误差事件中产生之一最大平方距离。对滤波器[3 2 -2 -2 -1],d mfb2=22,对滤波器[3 1 -2 -1 -1],dmfb2=16。此外,来自一格子之整体误差事件之一最小距离是dmin2,其通常与d mfb2相同,但是可能少于某些滤波器。例如,[32 -2 -2 -1]d mfb2=22,而d min2=18。距离平方接近d min2的误差事件可能发生。
以本发明,一表或一组可能的误差是被遵循的。特性(6),于以上综合说明中所述,藉由以本发明之译码器译码可能的误差而被建立。没有可能的误差士件被传播至超过4译码的字节。一潜在的误差事件集合被定义为包括所有具有≤1.5xd mfb2的封闭误差事件。也就是说,只有4译码的字节与其顿应的原始字节不同,由于译码对应的封闭误差事件。本发明其它的码的特性为其设计及对映的自然结果。
编码器100对映32位输入字符为34位码字符。此编码使用二对映表FL及FR对应输入字符至码字符。每一输入字符之一半(16位)使用FL对映表被对映,而其它一半(16位)使用FR对映表被对映。图3表示独立描述对映向量(x1,...x16)至向量(y1,...y16z)之对映图FL之表180。图4表示独立描述对映向量(x1,...x16)至向量(y1,...yl6z)之对映图FR之表200。
编码器100的对映被描述如下,与图1所之系统无关,以对映一向量(d(1,1)d(1,2)...d(1,16))(d(2,1)d(2,3)...d(2,16))至一向量(c(1,1)c(1,2)...c(1,16)q c(2,1)c(2,3)...c(2,16)p)。于图1的内容中,编码器100接收b而输出c,其中(d(1,1)d(1,2)...d(1,16)d(2,1)d(2,3)...d(2,16))=b而(c(1,1)c(1,2)...c(1,16)q c(2,1)c(2,3)...c(2,16)p)=c。
以下输入向量x之区域的分割被用于FL及FR对映表(注意,”~”,”&”及”|”分别代表位方面的互补,AND及OR)。
令
x为所有可能16位向量之集合,其中
x=(x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16)定义x的子集合
B01={x:x1+x2+x3+x4+x5+x6+x7+x8<2 &x9+x10+x11+x12+x13+x14+x15+x16>1}
B02={x:x1+x2+x3+x4+x5+x6+x7+x8>1 &x9+x10+x11+x12+x13+x14+x15+x16<2}
B01={x:x1+x2+x3+x4+x5+x6+x7+x8<2 &x9+x10+x11+x12+x13+x14+x15+x16<2}
B1={x:x4=x6=x8=x10=x12=x14=0}
B2={x:x3=x5=x7=x9=x11=x13=0}
B3={x:x6=x7=x8=x9=x10=x11=x12=x13=0}
B=B01 UB02 UB03 UB1 UB2 UB3
G=~B
R01=B01
R02=B02
R03=B03
R1=(~B01)∩(B02)∩(B03)∩B1
R2=(~B01)∩(~B02)∩(~B03)∩(~B1)∩B2
R3=(~B01)∩(~B02)∩(~B03)∩(~B1)∩(~B2)∩B3
集合R01,R02,R03,R1,R2及R3是成对地分离。
表180及200描述对映表FL及FR如何对映16位向量(x1...x16)至一个17位的向量(y1...y16z)。因为x的子集合或分割(列G,R01,R02,R03,R1,R2,R3)是成对地分离,X可以仅是分割中之一,且x可以被对映至列1-7中的一者。例如,如果x是(0000000100000001),则x为子集合R03的一元素;因为x1+x2+x3+x4+x5+x6+x7+x8=1,(小于2),且x9+x10+x11+x12+x13+x14+x15+x16=1(也小于2),x在子集合B03中,且R03=B03,因此X仅为R03的分割。例示之x所对映之向量依据表180及200的列4被定义。对映表FL将对映x至17位向量(g1 g2 g3 g4 h1 h2 h3 h4 0 0 0 1 1 1 0 0 0),且对映表FR将对映x至17位向量(0 0 0 1 1 1 0 0 g1 g2 g3 g4 h1 h2 h3 h4 0)。
图5表示以输入向量d及输入向量d使用对映表FL及FR之对映的表210。对映表FL及FR系一起被使用来定义编码器100的对应。如果码字符(d(1,1)d(1,2)...d(1,16))(d(2,1)d(2,3)...d(2,16))也被编码,则FL被用以对映(d(1,1)...d(1,16))至(a1...a16e1),而FR被用以对映(d(2,1)d(2,3)...d(2,16))至(b1 b2...b16e2)。被用于任何预定d之表210的列将分别依据由FL及FR所产生的e1与e2位的值而定。使用以上的例示向量x,如果d是34位向量(xx),则e1=0且e2=0,而表210的第4列将被用以对映向量(xx)至向量c。
预编码
预编码102是一有限的状态机器。假设输入c,输出d以及时间n,则预编码器102之状态为:
初始状态 stateinitial=(state1,state2)
输出状态 d=c+state2(mod2)
最终状态 sfinal=(d state1)
尤其是,预编码器102接收(c1...c34)并藉由设定d(i)=c(i)XORD(i-2)产生(d1...d34),其中I>=3,且其中d(1)及d(2)可以具有任何初始值。例如d(1)=c(1)XOR state2,d(2)=c(2)XOR state1。设计者选择初始状态,且该信息在预编码器被用以产生第一个二输出。
通常希望预编码器的输出应该是扩展一码字符之影像的34位的偶数个1。如果码字符c=(c(1,1)c(1,2)...c(1,16)qc(2,1)c(2,2...c(2,16)))被输入具有初始状态stateinitial=(state1,state2)之预编码器,则d1+d2+...+d34=0(mod2),其中dk为预编码器对应输入xk之输出。频道滤波器
频道滤波器104接收(d1....d34)。对滤波器[3 2 -2 -2 -1],频道滤波器104输出(y1...y34),其中y(i)=3d(i)+2d(i-1)-2d(i-1)-2d(i-3)-d(i-4),其中d的任何初始状态将足够。对滤波器[3 1 -2 -1 -1],频道滤波器是y(i)=3d(i)+d(i-1)-2d(i-2)-d(i-3)-d(i-4)。也可使用其它滤波器。
译码器
译码器114对映34位码字符的重现(c’)至输入字符之32位重现(b’)。此译码器使用对映表FL及FR之逆转的二对映表FL-1及FR-1对映码字符重现(c’)至输入字符(b’)。输入字符重现(一译码的码字符)之第一个16位使用FL-1对映表而被产生,而一输入字符重现(一译码的码字符)的后16个位使用FR-1对映表而被对映。对映表FL-1及FR-1以对映一输入向量(y1...y16z)至一输出向量(x1...x16)的方式被描述如下。
译码器114的对映于对映输入向量(c(1,1)c(1,2)...c(1,16)qc(2,1)c(2,3)...c(2,16)p)至输出向量(d(1,1)d(1,2)...d(1,16))(d(2,1)d(2,3)...d(2,16))而被独立描述如下。在图1的说明中,译码器114接收c’及输出b’,其中(c(1,1)c(1,2)...c(1,16)qc(2,1)c(2,3)...c(2,16)p)=c’,(d(1,1)d(1,2)...d(1,16)d(2,1)d(2,3)...d(2,16))=b’。
图6表示描述对映表FL-1之表220。图6A表示对映表FL-1的进一步细节。对映表FL-1对映17位(y1...y16z)至1 6位(x1...x16)。特定向量(y1...y16z)的对映将依据表220之第二列中所述之各种字节合而定。例如,如果(y1...y16z)=(y1...y9=0 y10=1...y16z=0),则z=0,y9y10=10,而输出(x1...x16)系基于表220之列3而决定。
图7表示描述对映表FR-1之表230。图7A表示对映表FR-1之进一步细节。对映表FR-1对映17位(y1...y16z)至16位(x1...x16)。特定向量(y1...y16z)的对映将依据表230之第二列中所述之各种字节合而定。例如,如果(y1...y16z)=(y1...y9=0 y10=1...y16z=0),则z=0,y9y10=10,而输出(x1...x16)系基于表230之列3而决定。
图8表示描述译码器114之对映的表240。字符(d(1,1)d(1,2)...d(1,16))之首16个位使用对映表FL-1而被产生,而被译码字符之后16位使用对映表FR-1而被产生,其中逆相对映表的输入系基于表240之第一行的情况而定。如以上所述,在图1的说明中,图1的译码器114的输入c’及输出b’分别对应以上所述之向量(c(1,1)c(1,2)...c(1,16)q c(2,1)c(2,3)...c(2,16)p)及(d(1,1)d(1,2)...d(1,16)d(2,1)d(2,3)...d(2,16))。
结论
以上述之编码系统,所有输入译码器之具有距离平方<1.5*22(关于滤波器[3 2 -2 -2 -1])封闭的误差事件或钻石将会被译码至大于误差中的4字节。在以上限制中之y’,d’或c’中之一误差将不会传播超过4字节的误差。钻石通常是在匹配滤波器边界(mfb)平方距离之内,所有1.5*mfb在典型的钻石之上,具有小于1.5xd mfb2之平方距离之误差事件将在译码器之输出b’之最多4连续字节被破坏。如果仅有c’中的少数位被破坏,也许是由于d’或y’中的毁坏,最差的译码器能够做的是破坏b’的4个相对字节。
此外,本发明的码具有以下特性的不同组合:
(1)在一频道输入之偶同位(even parity)(亦即在预编码之输出的偶同位);
(2)32/34的编码速率;
(3)每一码字符至少9个1;
(4)在编码数据的串行中不超过13个连续的0(G=13);
(5)在编码资料的串行中任何每一其它位之次数(run)中不超过13个连续的0(I=13);
(6)对于具有平方的距离的封闭误差事件≤1.5xd mfb2,其中d mfb2为匹配的过滤边界之平方距离,错误中不大于4个译码资料字节,包括封闭的误差事件及跨越码字符边界;
(7)34位码字符之译码可以在其位之19已被接收之后开始;
(8)如果腓特比侦测器(Viterbi detector)输出不归0符元(Non-Return to Zero symbol,NRZ),则其输出由(1 D^2)在被译码之前过滤,但如果腓特比侦测器输出NRZ反相器(NRZI)符元,则其输出直接被译码;以及
(9)偶同位系处于NRZ符元。
特性3之一优点在于时脉可使用码字符中的1而被调整。相同的特性使用滤波器的非0输出值而维持,如果使用二连续的滤波器(例如(1-D)2→a+Bd+cD2)。
本发明相对于以上所述之展现不同组合之一编码系统而被描述。本发磁储存系统,数据传输系统,以及类似者,以改善资料输入输出处理量并降低误差。本发明的许多特征及优点从详细的说明书而很清楚,且因此,可由所附之申请专李范围还包含落入本发明真实精神及范围内之本发明此等特征及优点。此外,因为不同的修改及改变对本技艺之人士而言是容易发生的,其并非用以限制本发明在所说明及描述之特定结构及运作,且因此所有适当的修改及均等物将被还原为落入本发明之范围内。