将二进制序列可逆变换为比率为2/3(1,k)游程受限的编码序列的制作方法

文档序号:7504844阅读:451来源:国知局
专利名称:将二进制序列可逆变换为比率为2/3(1,k)游程受限的编码序列的制作方法
技术领域
本发明涉及在例如磁存储记录信道或光通信子系统中出现的二进制值序列的非正常译码,其中误码、擦除或故障包含具有高占空比码型或所选码型重复的二进制子序列。更具体地,本发明涉及一种防止或消除码型的不确定的重复的方法和装置。
众所周知,由于其中存在非设定的码型或属性,一个二进制值序,列如1000011011可能被译码设备错误地译码。例如,一个1010101010...序列具有很高的占空比。从电子学上看,一个高占空比的意义等同于电子或机械元件被高度重复地动作。这个高频动作产生伴随发热并增加在元件环境中的噪声,从而导致较高误码率和故障率,并缩短元件寿命。
为此定义了占空比这个术语,它的意义是一个码型或一个重复子序列间隔中出现二进制数字1的数量。在101010这个例子中,因为每两位间隔就有一个1出现,所以它的占空比是50%。如果一个重复码型具有两个二进制4位字的形式,如1001,1000,则占空比就是3/8=37.5%。
在磁记录信道和光通信中存在脉冲拖尾或展宽现象。例如,两个二进制4位字0001,0010,由于拖尾,在译码器的输入处呈现为0001,1010。在这种情况中,位于第一个字的第4位的二进制“1”被电子地或光学地延伸,就象存在两个二进制“1”一样。这种情况或拖尾在脉冲位置调制通信系统或类似系统特别多。由此导致了PPM系统的明显的带宽效率极低的缺点。
从1983年11月1日授权给Adler等人的标题是“用于产生具有比率为2/3的(1,7)信道的无噪声滑动块代码的方法和设备”的美国专利4,413,251可以得知,有限状态机(FSM)能将非受限二进制值序列以不可逆方式转换到一个受限二进制值序列。进一步,Adler讲述了一种有限前瞻独立状态机可以执行这种译码。前瞻能力使一个译码器通过考虑一个预定数目的子序列RLL码字,将一个当前的RLL码字的n<m位分解为m位非受限序列。尽管如此,这种译码器的前瞻特点仍会增加RLL码字的误码或消除的不利影响。
参照Adler等人的方法,对于将m个位的非受限二进制序列映象到n个位的受限二进制序列的给定码率R=m/n,该要求通过得到一个每个状态具有2m分支的FSM编码器被部分满足,在每个状态内,通过拆分和合并某些FSM状态以得到一个新的FSM来表明(d,k)约束。该(d,k)约束的含义是在任何一对连续的二进制“1”之间插入至少d个“0”,且至多不超过k个“0”。对于d<k,d就确定了转变频率和符号间干扰(ISI)的来源。而k则用于时钟的再同步。
本发明提供一个用于将非受限二进制序列转换到一个受限序列的FSM,该受限序列是从一系列固定比率为2/3(d,k)的由(1,9)和(1,13)RLL代码组成的RLL代码中选择的,其中与(1,9)和(1,10)RLL代码的情况相同,抑制预先确定的RLL代码序列不确定的重复出现,或与(1,13)RLL代码的情况相同,消除预先确定的RLL代码序列不确定的重复出现。更进一步,当从一个存储子系统或一个光通信路径或类似的路径中读取RLL代码序列时,一个前瞻的非基于状态的译码器提供了必须的可逆性。
更实际地,通过用于将二进制序列逆映象到一个具有最大转移密度限制的比率为2/3(1,k)的游程长度受限码(RLL)序列的一个处理器实现方法,或一个硬连线组合逻辑等价物,确信可以实现前述目的。这种方法包括两个步骤,也就是,定义和存储一个有限状态机作为一个编码器,然后对二进制序列执行映象。
第一步骤包括在一个处理器内定义并存储包含下一个状态(n1n2n3)和一个当前RLL代码的三位符号(c1c2c3)的有序对的状态转换表。根据其当前状态在预定数目的第一个表格位置,并根据二进制序列的当前(b1,b2)位对和前瞻(b3,b4)位对的向量(b1b2b3b4)在第二个表格位置,索引所述表中的每一个有序对。每一个当前的位对都是一个可识别的二进制值(00,01,10,11)。而且从一组由可识别二进制值和一个“无关”的(xx)值组成的集合中,选择每个预定数目的位对。有意义的是,状态对状态的转换是受限制的,因此RLL编码三位的任何对应的长期序列表明占空比小于50%。第二步骤包含使处理器响应一个后继的位对矢量存取该表,并从中提取一个后继的RLL编码三位。在图及优选的实施例中,详述了定义RLL代码字到二进制的映象的逻辑关系以及其相反逻辑关系。
为了使用一个(1,k)比率2/3的RLL编码来减少二进制值流的占空比,有必要理解当将所选择的非受限二进制编码码型用于一个标准(1,7)或(1,9)比率2/3的RLL编码器时可能会发生的功效。的确,这些所选择的码型所产生的受限二进制编码码型具有很高的占空比。举例参见下面的表1。
表1
但是,更进一步观察可知,Adler′413′专利公开的(1,9)和(1,13)比率为2/3的RLL编码器类型,可以启发地改进为(a)或(b),(a)为在这些预定的非受限码型中禁止无限的高占空比RLL编码的重复,(b)为有效地禁止这些重复,如下表2所示。
表2


图1示出了一个根据本发明的定位于关于信息存储和传输媒体的受限信道编码器和译码器;图2给出了一个用做一个编码器的表示输出是当前内部状态和一组输入的函数,以及下一个内部状态是当前内部状态和一组输入的另一个函数的有限状态机;图3描述了一个响应非受限二进制输入产生高占空比输出的状态图(1,7)比率为2/3的RLL编码器,其中一个状态修正将该编码器转换为一个(1,9)比率为2/3的产生低占空比的输出的RLL编码器;图4A-4C分别说明了根据本发明修改的一个用于(1,9)比率为2/3的RLL编码器的状态转换表,涉及此非受限输入到受限输出的布尔运算及该编码器的一个高级逻辑门的实施例;图5A-5C分别示出了根据本发明修改的一个用于(1,9)比率为2/3的RLL译码器的状态转换表,涉及此非受限输入到受限输出的布尔运算及该译码器的一个高级逻辑门的实施例;图6A-6C分别描述了根据本发明修改的一个(1,13)比率为2/3的RLL编码器的涉及非受限输入到受限输出的布尔运算,一个状态转换表,以及该编码器的高级逻辑门的实施例;和图7A-7C分别陈述了根据本发明修改的一个用于(1,13)比率为2/3的RLL译码器的译码表,涉及受限输入到非受限输出的布尔运算,以及该译码器的高级逻辑门的实施例。
现在参照图1,该图示出了一个位于一个记录或发送信道5及一个信息存储器或传输媒体7之前的受限信道编码器3。一个与之对应的译码器11位于一个读回或接收信道9和非受限二进制序列接收点13之间。二进制源1可以看作一个具有按照一个一致的,高斯或其他的统计分布并常常展示具有高占空比的重复码型的“1”或“0”的随机数发生器。这些占空比的范围从具有10101010...等形式的最高50%的序列到一些可容许远远小于50%的典型序列。因为通常的解决方法是将非受限二进制序列应用到一个(1,k)比率为2/3的RLL编码器,该编码器自身提供最小占空比。
接着,来自编码器3的受限二进制输出字符串,被用于一个记录或传输信道5,在这里被适当地调制并写入到一个存储器或一个传输媒体7中。在后续的时间里,受限并调制的字符串到达一个读回或一个接收信道9中,并被转换成一个受限的由“1”和“0”组成的二进制字符串。该被转换二进制字符串接着被送到前瞻的状态独立的译码器11中。译码器11利用预定数目的后续字符(前瞻的)并将约束除去,然后将原始的非受限二进制序列提供到接收点13。
现在参照图2,图2展示了一个用做一个编码器3的一个有限状态机(FSM)。对于一组特定的参数(d,k)=(1,9)或(1,13),预定数目的当前输入位(b1b2)和将来输入位(b3b4)的(b1b2b3b4),从输入寄存器21通过路径22被送到FSM23。FSM23提供一个输出到寄存器25。作为输入位(b1b2b3b4)和当前机器状态S=(s1s2s3)的函数f,得到一个二进制位c=(c1c2c3)的输出集合。同时,下一个机器状态N可以由输入位(b1b2b3b4)和当前机器状态S的函数来确定。因此,对于下一个周期,下一个机器状态N被写入到当前状态寄存器29中,成为新的当前机器状态S。就这点而言,一个FSM也可以被看作是一种有向图的形式,该图的节点代表了FSM的机器状态,且它的有向连接在产生一个对应的输出矢量的同时,定义任一给定输入矢量的状态到状态的转换。有向图的表格形式被称为“状态转换表”。
现在参照图3,图3描述了响应一个非受限二进制输入产生高占空比输出的(1,7)比率为2/3的RLL编码器的部分状态图或有向图。节点000,001,010,011和100代表这个(1,7)编码器的内部状态。因为这是一个比率为2/3的编码器,所以对于一个在时间001100具有两个位的输入码型,编码器的输出码型将是在时间010101010具有三个位的输出码型。类似地,对于输入码型001101,输出码型将是010101001。如图所示,如果一个附加状态111被加到状态图中,并连接在状态000和100之间,该编码器就被转换成(d,k)=(1,9),比率为2/3的编码器。该附加状态提供足够的计算资源,来前瞻几个输入符号并产生一个低占空比的输出序列,如对于输入001100的输出序列为01000000,对于输入001101的输出序列为00100000。
现在参照图4A-4C,图4A-4C分别示出了根据本发明修改的一个用于(1,9)比率为2/3的RLL编码器的状态转换表,涉及这个非受限二进制输入到高度受限的输出的布尔运算及该编码器的一个高级逻辑门的实施例。在图4A中,编码器是一个具有六个内部状态S的FSM。当该编码器的比率为2/3时,它被设计用于响应一个当前输入位对加一个前瞻输入位对b=(b1b2b3b4)。每一行由六个内部状态之一来索引,而每一列则由具有两个位对组合的七个输入之一来索引。对于任何给定(S,b)的表索引,入口形式为下一个状态N/输出C=(c1c2c3)。在七个具有两位对输入组合的输入中,其中的三个,即,00xx,01xx和10xx,有两个“无关”的位值位置。举例说明如下,如果该(1,9)编码器在状态100的输入是00xx,那么将产生一个从状态100到状态000的传输且产生输出C=000。
现在参照图4B,图4B陈述了定义下一个状态的布尔函数N=(n1n2n3)=g(S,b)和输出布尔函数C=(c1c2c3)=f(S,b)的布尔方程。这些方程是从图4A的状态转换表中得到的分析表达式。在这些布尔表达式中,布尔变量C的非表示为“′C”。因此,111的非可以表示为′(111)。需要说明的是,图4B中的布尔方程完全确定了与/或的组合逻辑(图4C中的415)。
相关地,用于低占空比(1,9)比率为2/3的RLL编码器的逻辑示于图4C。在这个逻辑的实施例中,一个当前输入位对(b1b2)通过锁存器407和403到达组合逻辑415。同样,一个前瞻输入位对(b3b4)通过锁存器405和401到达逻辑415。被编码的输出C通过锁存器417,419和421到达逻辑415。下一个内部状态N通过分别对应输入锁存器409,411和413的反馈路径I,II,III到达逻辑415。
现在参照图5A-5C,分别示出了根据本发明修改的一个用于(1,9)比率为2/3的RLL译码器的状态转换表,涉及这个非受限输入返回到受限输出的布尔运算及该译码器的一个高级逻辑门的实施例。在图5A中,当提供用于前瞻几个RLL符号的时候,译码表是状态独立的。也就是,它在读出编码时不建立一个FSM。这个RLL二进制编码的符号指定了从左到右的最初的三列。这些符号包括一个当前符号(r1r2r3)和两个前瞻符号(r4r5r6)和(r7r8r9)。第四列被指定为“译码输出”。为了译码,该RLL符号字符包括一个三位字符的滑动块,在这个滑动块中,根据图5B的布尔方程,将该当前符号与两个前瞻符号逻辑组合的结果作为当前符号的译码。
现在参照图5C,每一个RLL编码的符号包括一个3位的字节,这3位分别到达锁存器501,503和507。通过或门513,锁存器519和锁存器521处理这些位,形成三个中间的内部变量z1,z2和z3。它们同时作为输入到达组合逻辑525。进一步,当前的RLL编码的符号的第一位和第三位的值r1和r3作为同时存在的输入,通过各个锁存器509,517,515和523到达逻辑525。
逻辑525由图5B中所示的用于译码输出的逻辑方程完全确定。当逻辑方程描述一个6代码位的输出(u1u2u3u4u5u6)时,输出变量u5被设置为0。在所示的实施例中,附加逻辑用于将被译码输出U转换成2位字节的原始非受限二进制序列。因此,通过或门529主动与u4和锁存器527中的u6的码型的组合以及或门539主动与锁存器531中的或门529的输出和逻辑525的输出u2的组合,来计算2位字节中的第一个字节。通过或门535主动与u1和锁存器533中的u3的一个码型的组合,来计算2位字节中的第二个字节。2位字节中的第一个字节放在锁存器541中,而2位字节中的第二个字节放在锁存器537中。
现在参照图6A-6C,分别描述了根据本发明修改的用于一个(1,13)比率为2/3的RLL编码器的状态转换表,涉及非受限输入到受限输出的布尔运算,以及编码器的一个高级逻辑门的实施例。仔细看一下图6B,图中所示是状态转换表,该状态转换表的形式是由一个当前内部状态S和一个组合输入(b1b2b3b4b5b6)做索引的内部状态和编码输出的有序对的一个阵列。对于一个(1,13)编码器,组合输入就是当前编码二进制输入位对和两个前瞻编码二进制输入位对。如果该编码器用于一个具有00xxxx形式的连续输入,那么它将最终转换到状态000,并循环在该状态内产生一个占空比为1/3的具有010010010010...形式的输出。和与输出010101...相关输出的相比,这仍远远少于1/2。
图6A所示的(1,13)编码器的布尔方程与图4B所示的(1,9)编码器的方程,在总体结构上是非常相似的。也就是说,他们源于状态转换表并被约束产生一个低占空比的输出。方程中通过在布尔变量的上方加一个水平横线,来清楚地作为逻辑非的替代表示法。
现在参照图6C,图6C示出了一个(1,13)编码器的逻辑实施例,该实施例等同于图4C的(1,9)编码器的逻辑实施例,不同的是(1,13)编码器是用独立接触形式。独立接触形式最早用于表示使用的中继电路网络,例如,在电话工业中,通过和(1,9)编码器相关描述实质相同的一种方法,将三个输入位对的d1,d2送到缓冲器L,输入位b1...b6和内部状态一起送到组合逻辑。
现在参照图7A-7C,分别陈述了根据本发明修改的一个用于(1,13)比率为2/3的RLL译码器的译码表,涉及的受限输入到非受限输出布尔运算,以及译码器的一个高级逻辑门的实施例。在图7A中,陈述了包含一个当前RLL符号和三个前瞻RLL符号的状态独立的译码表,用来执行将当前RLL符号映象到非受限二进制位对序列。相应地,图7B示出了定义译码器的布尔逻辑方程,图7C示出了该独立接触逻辑的实施例以及和前述的图4C建立的实施例相联系一种的运行方法。
权利要求
1.一种将二进制序列逆映象到一个比率2/3(1,k)的具有最大传输密度约束的游程受限码序列(RLL)的方法,该方法包括步骤(a) 在一个处理器内定义并存储包含下一个状态(n1n2n3)和一个当前RLL代码的三位符号(c1c2c3)的有序对的状态转换表,根据其当前状态在第一个表格位置,和根据当前(b1b2)和预定数目的二进制序列的前瞻(b3b4)位对的矢量(b1b2b3b4),索引所述转换表中的每一个有序对,每一个当前的位对都是一个可识别的二进制值(00,01,10,11),从一组由可识别二进制值和一个无关(xx)数值组成的集合中,选择每个预定数目的位对,状态对状态的转换是受限制的,因此RLL编码三位的任何一个对应的长期序列表明一个占空比是小于50%的;和(b) 响应一个后继的位对矢量使上述的处理器存取该表,并从中提取一个后继的RLL编码三位。
2.一种如权利要求1中的方法,其中所述占空比实质上近似为三分之一,更进一步,其中所述的(1,k)RLL码约束是从包含(1,9),(1,10)和(1,13)的集合中选择的。
3.一种如权利要求1中的方法,其中所述方法包含下列步骤(c)在所述处理器中定义并存储一个包含由一个由当前RLL编码的三位和一个预定数目的前瞻的RLL编码三位组成的矢量索引的、一个二进制序列位对表的一个状态独立译码表;和(d)响应后继的RLL编码三位的矢量使所述处理器存取所述译码表,并从中提取后继的二进制序列位对。
4.一种如权利要求3中的方法,其中所述的(1,k)RLL码约束是从包含(1,9)和(1,13)的集合中选择的。
5.一种将二进制序列逆映象到一个比率2/3(1,9)的具有最大传输密度约束的游程受限码序列(RLL)的设备,该设备包括一个有限状态机(FSM),用于产生一个RLL编码的三位符号(c1c2c3)和下一个后继的内部机器状态(n1n2n3),该RLL编码的三位符号(c1c2c3)作为当前的一组FSM的内部状态(s1s2s3)和一个当前(b1b2)和一个来自二进制序列的预定数目的前瞻(b3b4)位对的矢量(b1b2b3b4)的第一函数,该后继的内部机器状态(n1n2n3)作为当前FSM状态和该二进制序列向量的第二函数,每一个当前的位对成为一个可识别的二进制值(00,01,10,11),每一个预定数目的位对是从由包含一个可识别二进制值和一个无关值(xx)的一个集中选取的,所述的第一和第二函数由下列的一组布尔值关系式确定n1=b1S3+b1b2′b3′s1′s2+s1s23n2=b1′s1n3=b2′s3+′s1′b1b2c1=′s1-′s2c2=′s1′s2′c3c3=′s1s3(′b1+′b2)+′s1′s2′s3b1b2′b3b4。
6.如权利要求5中所述的设备,该设备进一步包括逻辑电路,响应后继的RLL编码的三位矢量,用于从中提取一个后继二进制序列位对,每一个RLL编码的三位矢量由一个当前的RLL编码的三位(r1r2r3)和一个预定数目的前瞻RLL编码的三位(r4…r9)形成,所述逻辑电路包括形成第一布尔变量(z1z2z3)的第一电路和形成第二布尔变量(U1U2…U6)的第二电路,以及用于得到作为第二布尔变量函数的二进制序列位对的第三电路;和根据多个布尔值关系定义所述第一电路,即z1=′(r1+r2+r3),z2=′(r4+r5+r6),z3=′(r7+r8+r9);和根据多个布尔值关系定义所述第二电路,即U1=r1U2=(′z1-′z2)r3+′z1z2′z3U3=′z1z2U4=z2z3+′z1z2′r3U5=0U6=z2z3r3。
7.一种用于将二进制序列逆映象到一个比率2/3(1,13)的具有最大传输密度约束的游程受限码序列(RLL)的设备,该设备包括一个有限状态机(FSM),用于产生一个RLL编码的三位符号(c1c2c3)和一个下一个后继的内部机器状态(n1n2n3),该RLL编码的三位符号(c1c2c3)作为当前一组FSM的内部状态(s1s2s3)和一个当前(b1b2)和一个来自二进制序列的预定数目的前瞻(b3b4b5b6)位对的矢量(b1b2b3b4b5b6)的第一函数,该下一个后继的内部机器状态(n1n2n3)作为当前FSM状态和该二进制序列向量的第二函数,每一个当前的位对成为一个可识别的二进制值(00,01,10,11),每一个预定数目的位对是从由包含一个可识别二进制值和一个无关值(xx)的一个集中选取的,根据多个布尔关系式定义所述第一和第二函数n1=(s1s2)+(s3b1)+(′s1b1b2′b3)+(′s1b1b2′b4b5b6)n2=(′s2b1)+(s1s2b1′b2)n3=(′s3b2)+(′s1′b1′b2)+(s1s2b1′b2)c1=(′s1s2)c2=(′s1′s2′c3)c3=(′s1s3)(′b1+′b2)+(′s1′s3b1b2′b3b4)
8.一种计算机程序,包括将二进制序列逆映象到一个比率2/3(1,k)的具有最大传输密度约束的游程受限码序列(RLL)的计算机程序代码,包括下面步骤(a)在一个存储器内定义并存储包含下一个状态(n1n2n3)和一个当前RLL代码的三位符号(c1c2c3)的有序对的状态转换表,根据其下一个状态在第一个表格位置,以及根据当前(b1b2)和一个二进制序列的预定数目的前瞻(b3b4)位对的矢量(b1b2b3b4)在第二个表格位置索引,所述表中的每一个有序对,每一个当前的位对都是一个可识别的二进制值(00,01,10,11),每一个预定数目的位对是从一组由可识别二进制数值和一个“无关”的(xx)数值组成的集合中选出的,状态对状态的转换是受限制的,因此RLL编码三位的任何一个对应的长期序列表明一个占空比是小于50%的;和(b)响应一个后继的位对矢量使上述的处理器存取该表,并从中提取一个后继的RLL编码三位。
全文摘要
一种通过将非受限二进制信号序列逆映象到一个(1,k)比率2/3的RLL的方法和装置来抑制在存储和通信过程中的非受限二进制信号序列的高占空度,使高占空比大大地被抑制到大约1/3左右。也就是,可以防止或消除普通的映象到高占空比的RLL码序列的二进制序列存在的不确定的重复中。
文档编号H03M7/14GK1307721SQ99807908
公开日2001年8月8日 申请日期1999年7月1日 优先权日1998年7月13日
发明者马丁·A·哈斯那, 尼勒斯·海斯, 沃尔特·赫特, 巴里·M·特拉格 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1