CN1333530C - 编码线性成块码的方法和装置 - Google Patents

编码线性成块码的方法和装置 Download PDF

Info

Publication number
CN1333530C
CN1333530C CNB018195199A CN01819519A CN1333530C CN 1333530 C CN1333530 C CN 1333530C CN B018195199 A CNB018195199 A CN B018195199A CN 01819519 A CN01819519 A CN 01819519A CN 1333530 C CN1333530 C CN 1333530C
Authority
CN
China
Prior art keywords
response
string
zero
bit
encoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB018195199A
Other languages
English (en)
Other versions
CN1476675A (zh
Inventor
J·Y·赫特
J·A·莱文
N·舍勒格尔
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN1476675A publication Critical patent/CN1476675A/zh
Application granted granted Critical
Publication of CN1333530C publication Critical patent/CN1333530C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/095Error detection codes other than CRC and single parity bit codes
    • H03M13/096Checksums
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/47Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

有效编码线性成块码的方法和装置使用包括一组激励响应的查找表,通过并行地编码而支持更快的性能。其优点包括在现有的方案中所缺乏的可伸缩性。

Description

编码线性成块码的方法和装置
发明的背景
1.发明领域
本发明涉及数字信号的传递(即,传输和/或存储)。更具体地说,本发明涉及线性成块码的编码。
2.相关技术的描述
数字信号通常用于如语音、数据,和视频通讯和图象,数据及文档的存储,处理和归档等应用场合。遗憾的是,因为存储介质和传输通道并不完美,它们容易将错误引入到经过它们的数字信息中。例如,在存储介质中,由于缺陷产生的错误使得数字信息的一些或全部不能正确地存储,保留或检索。例如在传输通道中,由于其他信号的干涉或通道质量在变坏过程的改变可以引起错误。
为增加数据的可靠性可以应用错误检测方案,其中从数字信号计算校验值并与数字信号一起传输(在一个通常的实施中,数字信号被分成若干块,并对每个块在传递之前计算校验值,并将其附在块之后,在另一个方案中,数字信号和校验值可以交叉和/或在时序上具有某种其他的相对安排)。在信号被索取或接收时,重复该校验值的计算。若在传输前后计算的校验值一致,则传输的信号认为是没有错误的。若校验值不一致,则认为信号至少包含一个错误。若在那样的计算中使用线性成块码,最终的校验值称为校验和,而若在那样的计算中使用循环码,最终的校验值称为循环冗余校验和或CRC。根据所使用的码的类型以及遇到的错误的数目和/或类型,有可能校正那样的错误而不必重新发送该数字信息。
对(n,k)循环码C,k个信息符号被编码成n-符号码字。例如,(48,32)循环码产生包含32位原始信息符号和16位CRC的48位码字。此类循环码能唯一地由具有下述形式的n-k阶生成多项式G(x)确定
G ( x ) = 1 + [ Σ i = 1 n - k - 1 g i X i ] + X n - k .
按那样的码计算的校验和具有n-k位的长度。(n,k)码的示例性格式示于图1。
在有限域(伽罗瓦域)GF(2)上的加法简化为逻辑异或(XOR)操作,而在此有限域上的乘简化为逻辑与(AND)操作。因而,对由如上所述的生成多项式产生并在GF(2)上应用的循环码,编码器能使用如图2所示的逻辑线路实现。在此图中,gi表示生成多项式G(x)的系数,(n-k)个存储单元的每一个保持一位值,而存储单元的内容协调地更新(即在每个时钟周期,值被移位到存储单元)。在前k次移位期间,切换器处于上面位置,使得信息信号能加载到编码器(若希望还送到输出)。在接下去的(n-k)次移位期间,切换器移到下面位置,使得编码器的状态(即对应于存储单元的排序内容的位串)作为校验和信号输出。
若在编码器设计期间生成多项式已知,能通过忽略第i个AND门(对gi=0)或用连接代替它(对gi=1)而简化图2的线路。例如,码多项式
G(x)=X16+X15+X14+X11+X6+X5+X2+X+1
(如在由Telecommunications Industry Association,Arlington,VA发表的IS-200标准第二部分2.1.3.4.2.1和2.1.3.5.2.1节中所规定的)能用图3中示出的逻辑线路实现。
虽然它们具有很低的硬件要求,使用很小的存储和只有少量的逻辑门,如图2及3中的串行编码器实现方法每个时钟周期只处理一位输入信号。那样的性能慢得无法接受,尤其是对涉及实时数据流的应用(如通讯应用)场合。
每个时钟周期多位操作的编码器通过使用预先计算的查找表实现。在这些实现中,当前周期的余项被用作从查找表中选择值的索引,而选择的值被用作计算下一周期的余项。虽然那样的编码器每周期处理多位,它需要查找表,其长度与余项的长度指数相关。因而,那样的实现方法难以伸缩,并不适合于既要高速又要少占存储器的应用场合。
发明概述
在按本发明的实施例的装置中,逻辑矩阵接收信息信号和对应于信息信号部分的激励响应。逻辑矩阵根据至少两个激励响应的和输出校验和。
附图简述
图1是示出码字格式的简图。
图2是用于循环码的一般编码器的逻辑图。
图3是用于特定循环码的编码器的逻辑图。
图4是按本发明的实施例的装置的方框图。
图5是逻辑矩阵120的线路图。
图6示出从具有较小容量的XOR门的树构造的XOR门。
图7示出产生查找表110方法的流程图。
图8描述了图7中方法的子任务P120和P130的一次迭代。
图9是按本发明的另一实施例的装置的方框图。
图10是包含信息信号范例的数据信号的图形表示。
图11是产生查找表220的方法的流程图,它接续着图7示出的流程图。
图12描述了图11方法的子任务P180,P190,和P200的一次迭代。
图13是逻辑矩阵220的线路图。
图14A是包含数据信号的范例的信号流的图形表示。
图14B是编码的信号流的图形表示。
图15是按本发明的又一个实施例的装置方框图。
图16是流控制块的方框图。
图17是按本发明又一个实施例的装置方框图。
具体实施方式
如图4所示,按本发明的实施例的装置100接收输入宽度为k位的信息信号20到逻辑矩阵120。查找表110将预定的响应信息提供给逻辑矩阵120的另一组输入。逻辑矩阵120在其输入上完成预定的逻辑功能以产生校验和信号30。
查找表110存储的信息关系到对由特定生成多项式G(x)产生的循环码的编码器(如按图2的线路的特定实现的编码器)的激励响应,并具有预定的初始状态。具体说来,查找表110存储那样的编码器的k个激励响应,其中第j个激励响应(j是从1到k的一个整数)是从第j的激励输入(即长度k的串,其中仅第j位具有非零值)中移位引起的编码器状态。构造查找表110的示例性方法在下面讨论。
逻辑矩阵120从查找表110中选择对应于信息信号120的非零位的激励响应,并输出这些响应的总和。图5示出逻辑矩阵120的示例性实施的方框图,它包括k个AND门140和一个XOR门150。每个AND门140(m)(其中m是从1到k的一个整数)具有1位宽的控制输入和(n-k)位宽的数据输入。若到门140(m)的控制输入具有值1,则输入传送到输出;否则门的输出为0。对矩阵120中的每个门140(m),控制输入是信息信号120的第m位,而数据输入是从查找表110获得的第m个激励响应。在一个示例性实施例中,AND门140(m)包含若干或许多具有更有限输入容量的逻辑门(如2输入NAND门),它们安排成完成上述功能。
XOR门150接收k个AND门140(m)的输出,并产生(n-k)位宽的输出。若奇数个AND门140(m)的输出的第p位的具有值1,则XOR门150的输出的第p位(其中p是从1到(n-k)的一个整数)具有(a)值1,若偶数个AND门140(m)的第p位具有值1,则具有(b)值0。换言之,XOR门150的输出是输入的按位XOR,输出的第p位是输入的第p位的XOR。
XOR门150能作为具有较小输入容量的XOR门的树实现。例如,图6示出,4输入的XOR门如何能从3个2输出XOR门的树构成(其中每个能从其他逻辑门实现)。在一个示例性实施例中,XOR门150包含若干或许多具有更有限的输入容量的逻辑门(如2输入NAND门),它们安排成完成上述逻辑功能。
注意,在实现上述逻辑功能时,逻辑矩阵120的实际结构能采用许多不同于图5所示的特定形式的其他形式,因为对于如固定的初始编码器状态和固定的G(x),n,及k,查找表110是不变的,可以事先知道输入到AND门140(m)的某些数据位是0,因而这些门的输出的对应位也将是0。因为逻辑矩阵120的操作能使用逻辑表达式描述,应用那样的先验知识从此表达式中消除已知为零的项可以实现缩短表达式并简化对应的实现方法(如简化逻辑门)。那样的缩减能手工或自动地完成。在按本发明的装置的一个实施例中,对特定G(x),n和k以及特定的初始编码器状态的逻辑矩阵120的结构,通过使用如由Synopsis,Inc.(Mountain View,CA)生产的Design Compiler而缩减成更优化的格式(如需要更少的逻辑门完成等价于图5中示出结构的逻辑操作的格式)。
图7示出通过将一系列激励输入送到由预选的多项式G(x)产生的循环码的编码器中而产生查找表110的示例性方法的流程图。在此方法中,编码器能以硬件实现(如按图2的线路的特定实现)。但注意,一旦查找表110的结构已完成,有可能实现本发明而不必再参考那样的编码器。因此,替代地可以希望至少部分编码器以软件实现。一旦存储在查找表110中的信息可用,有可能实现本发明而不必参考以硬件或软件方式的编码器(如在图4中所见的装置)。
在子任务P110中,计数器值i设成1。因为编码器的响应取决于其初始状态,子任务P110还包括通过将预定的值串存入其存储单元而初始化编码器。注意,若按图2的编码器初始化成零状态(即零初始状态被存入其每个存储单元),则当输入零值串时编码器将不改变其状态。因为那样的串在某些应用中通常是引导序列,可以希望替代地用1的值串(或用某些其他非零串)来初始化编码器。
在子任务120中,第i个激励输入(即长度为k的串,其中仅第i位具有非零值)被输入到编码器(或类似设备)。在子任务P130,编码器对此输入的响应(即表示在激励输入被加载之后编码器状态的(n-k)位的串)被存入查找表110的对应位置。通过子任务P140的测试和子任务150中的循环操作,子任务P110,P120,和P130重复执行,直到对所有k个可能的激励输入存入激励响应。
图8是子任务P120和P130的一次迭代的图形表示。在此例子中,对第i个激励输入的编码器响应存入查找表的第i行,虽然在输入识别符和表的位置之间任何其他预定对应关系也能使用。除了图7和8中示出的方法,可能有许多其他产生适用于装置100的查找表110的方法。
这里描述的方法和装置展示了卓越的伸缩能力。例如注意到,当k为常数而n增加时(或当(n-k)为常数而k增加时)查找表110的尺寸只是线性地增加。在那样情况,用于实现XOR门150的XOR门的树的深度应该如log2(n)那样增加。
图9示出按本发明的另外实施例的装置200的方框图。在此装置中,作为逻辑矩阵220的输出的响应信号60能存入编码器状态寄存器340,如下所述用作在后续编码中的初始编码器状态和/或作为校验和信号30输出。
在某些应用中,希望使用(n,k)循环码从多于k位的数据信号计算(n-k)位的校验和。在装置200的示例性应用中,要编码的数据信号分割成邻接的不重叠的k位的串,它们作为信息信号的范例顺序地输入到装置200(与更新信号40同步)。图10示出信息信号20被分割成4个k位范例20-1到20-4的数据信号50的例子。
查找表210存储与由特定的生成多项式G(x)产生的循环码的编码器(如按图2的线路的特定实现)相关的信息。具体说来,查找表210存储具有零初始状态的编码器(即每个存储单元保持零值)的k个激励响应。第j个激励响应(其中j是从1到k的一个整数)是从移位第j个激励输入引起的编码器的状态,此输入是长度为k的串,其中只有第j位具有非零的值。
为了考虑编码器初始状态的改变(如从信息信号20的一个范例变到下一个),查找表210还存储编码器的(n-k)个零响应。具体说来,第q个零响应(其中q是从1到(n-k)的一个整数)是当k个零值位的串移位到具有第q个分量初始状态时导致的状态,第q个分量初始状态是长度为(n-k)的串,其中只有第q位具有非零值。
图11示出产生查找表210的零响应部分的示例性方法的流程图。此方法包括将一个零输入到由预选多项式G(x)产生的循环码的编码器,后者具有一组预定的初始状态(注意,此方法包括在图7的流程图示出的方法,并从该流程图的任务P140继续)。如上所述,该编码器能用硬件实现(如按图2的线路的特定实施),虽然一旦查找表210的结构完成,有可能实施本发明而不必再参照那样的编码器,因而,希望替代地至少部分编码器以软件方式实现,一旦存入查找表210的信息可用,有可能实施本发明而不必参考以硬件或软件方式的那样的编码器(如在图9的装置中所见)。
在子任务P160,计数器值q被设成1。在子任务P170,计数器值i被增量(或,等价地设成值(k+q)。在子任务P180,通过将(n-k)值的串存入存储单元,编码器被初始化成第q个分量初始状态,其中第q个值为1,所有其他值为0。
在子任务P190,零输入(即k个零位的串)被输入到编码器(或类似设备)。在子任务P200,编码器对此输入的响应(即表示编码器在加载了零输入之后的状态的(n-k)位的串)被存入查找表210的相应位置。经过子任务P210的测试和子任务P220的循环维持操作,重复子任务P170,P180,P190,和P200,直到对所有(n-k)个可能的分量初始状态存入零响应。
图12是子任务P180,P190,和P200的一次迭代的图形表示。在此例中,查找表210的前k行与上述查找表110的k个行相同,而具有第q个分量初始状态的编码器的零响应被存入查找表210的第i行,虽然在输入识别符与表位置之间的任何其他预定关系也能使用。除了图7,8,11,和12中示出的方法,可能有许多其他产生适用于查找表210的激励响应和零响应的组的方法。
图13示出逻辑矩阵220的方框图,它包括n个AND门140和一个XOR门250。如上所述,每个AND门140(r)(其中r是从1到n的一个整数)具有1位宽的控制输入和(n-k)位宽的数据输入。若到门140(r)的控制输入具有值1,则数据输入被送到输出;否则门的输出是零。
对在矩阵220在的每个门140(s)(其中s是从1到k的一个整数),控制输入是信息信号20的第s位,而数据输入是从查找表210获得的第s个激励响应。对矩阵220中的每个门140(t)(其中t是从(k+1)到n的一个整数),控制输入是编码器状态信号80的第(t-k)位而数据输入是从查找表210获得的第(t-k)个零响应。
XOR门250接收n个AND门140(r)的输出并产生(n-k)位宽的输出。当奇数个AND门140(r)的第p位具有值为1时,XOR门150的输出的第p位(其中p是从1到(n-k)的一个整数),具有(a)值1,当偶数个AND门140(r)的第p位具有值为1时,XOR门150的输出的第p位具有(b)值0。换言之,XOR门250的输出是输入的按位的XOR,输出的第p位是输入的第p位的XOR。XOR门250的输出被存入CRC寄存器340以响应更新信号40的特定的跃迁(如上升沿和/或下降沿)。
如上对XOR门150的讨论,在示例性实现中XOR门250能包含若干或许多具有更有限输入容量的逻辑门(如2输入的NAND门),它们安排成完成上述逻辑功能。此外注意,类似于逻辑矩阵120的情况,在实现上述逻辑功能时,逻辑矩阵220的实际结构可以采取许多不同于图10中所示的特定形式的形式。因为查找表对如固定的G(x),n,和k是不变的,可事先知道到AND门140(r)数据输入的某些位将是0,因而这些门的输出的对应位也将是0。在按本发明的装置的一个实施例中,通过使用如由Synopsis,Inc.(Mountain View,CA)生产的Design Compiler那样的电子设计工具,逻辑矩阵220的结构能缩减成更优化的形式(如需要更少的逻辑门来完成等价与图13中示出的逻辑操作的形式)。
编码器状态信号80表示编码器状态寄存器340的当前状态。在一个实施例实现中,编码器状态寄存器340被初始化成存储所希望的编码器初始状态。在信息信号的第一范例20-1出现在逻辑矩阵220的适当输入处时,编码器状态寄存器340将此希望的初始状态通过编码器状态信号80的第一范例80-0提交给逻辑矩阵220的适当输入。在足以稳定逻辑矩阵220的输出(即响应信号60)的时间之后,更新信号40的指定跃迁使编码器状态寄存器340存储该输出,并将其送到逻辑矩阵220作为编码器状态信号80的第二范例80-1。
在编码器状态信号80-1出现在逻辑矩阵220的适当输入时,信息信号20的下一个范例20-2出现在逻辑矩阵220的相应适当输入。在足以稳定响应信号60的时间之后,更新信号40的指定跃迁使状态寄存器340能存储那个信号,并将其作为编码器状态信号80的第三范例80-2送到逻辑矩阵220。此过程一直继续到信息信号20的最后范例20-x,且编码器状态信号80的范例80-(x-1)被提供到逻辑矩阵220的适当输入处。对应于这些输入的逻辑矩阵220的输出(即响应信号60)表示对原始数据信号50的希望的校验和,而且此信号作为校验信号30输出。
对大多数应用,装置200不必要输出响应信号60的任何其他范例作为校验和信号30。但是在另外的实现中,在装置200的输出处提供寄存器和/或门(如由基于更新信号的适当定时信号控制),以防止响应信号60的其他范例出现在校验和信号30上。
在数据信号50中的总位数不必是k的倍数,例如,数据信号50可以插入0使达到k的倍数的长度。但注意,在那样情况在校验和信号30的最后范例上必须完成反向循环移位(移位位置的数目对应于插入0的个数)以获得等价与通过将未插入0的数据信号50移位到如图2所示的编码器而产生的结果。
图14A示出信号流,其中信号流的每个数据信号包含宽度为k的信息信号22的一系列范例。图14B示出一个例子,说明在编码成包括校验和信号30之后如何构造此信号流。
图15示出按本发明的又一个实施例的装置。关于编码器状态寄存器340,时钟信号70在此装置中完成类似于在图9的装置中更新信号40的功能。希望时间信号70的周期至少与在信息信号22的新范例和分级编码器状态信号85在其输入处出现之后逻辑矩阵220达到稳定所需要的最大时间一样长。
我们开始描述在信息信号22a1到达逻辑矩阵220的输入时如图15所示的装置的示例性应用。配置流控制410(如下面所述)使得具有希望的编码器初始状态的分级编码器状态信号85与信息信号22a1一起出现在逻辑矩阵220的输入端。在允许装置200的状态稳定的足够时间之后,逻辑矩阵220的最终输出(即响应信号60)经过时钟信号70的选通被定时地进入编码器状态寄存器340(并加到编码器状态信号80)。流控制410配置成将编码器状态信号80(作为分级的编码器状态信号)送到逻辑矩阵220的输入端。
现在信息信号22a2到达逻辑矩阵220的输入端。在足够的稳定时间后,响应信号60通过时钟信号70的另外选通定时进入编码器状态寄存器。现在希望的校验和30a(即对应于用由G(x)产生的循环码数据信号50a的编码)出现在编码器状态寄存器340的输出端,并在需要时由装置300输出。
以类似的方式,信息信号22b1到达逻辑矩阵220的输入端,而流控制410被配置成使得分级的编码器状态信号85表示在逻辑矩阵220的另外输入端的希望的编码器初始状态。矩阵220的最终输出(即响应信号60)通过时钟信号70的选通定时地进入编码器状态寄存器340(并加到编码器80)。流控制410配置成将编码器状态信号80(作为分级编码器状态信号85)送到逻辑矩阵220的输入端。随后信息信号22b2到达逻辑矩阵220的输入端。在足够的稳定时间之后,时钟信号70确定将响应信号60定时进入编码器状态寄存器340,并从而送到寄存器340的输出端,作为希望的校验和30b的输出。在示例性应用中,数据信号和对应的校验和随后如图14B中所示那样地组装。
定时地将初始编码器状态提供到逻辑矩阵220的输入端是由流控制块410自动完成的。如图16所示,块410可以包含多路复用器,它将分级编码器状态信号85送到逻辑矩阵220的输入(即到示出的(n-k)行,以便接收图10中的编码器状态信号80)。根据从计数器420接收的信号,多路复用器440使得分级编码器状态信号85传送编码器状态信号80或(n-k)位宽的初始编码器状态(存储在初始值寄存器430中)。
计数器420按预定参数Z操作,其中
Z = [ D K ]
(即不小于D/K的最小整数),而D是数据信号50的位长度。在图16的例子中Z=2。在每个时钟信号周期70,计数器420被增量并每隔Z个时钟周期复位。当计数器420的计数值为0时,计数器420使多路复用器440传送从寄存器430来的初始编码器状态。其他情况,计数器420使多路复用器传送编码器状态信号80。可能有许多其他合适的安排将编码器状态信号80和初始编码器值放到分级的编码器状态信号85上。
如图17所示,按本发明的又一个实施例的装置400能包括输入寄存器230,它接收数据信号52并输出信息信号22的k位宽的范例。输入寄存器230能以串行和/或并行方式接收单独的数据信号52的值。希望的数据信号52以足够的速度提供数据给输入寄存器230,使输入寄存器230能在每个时钟信号周期70提供信息信号22的下一范例。在示例性实现中,输入寄存器230能构造成环行队列或“环形缓冲器”。在另一个应用中,输入寄存器230能构造成双缓冲器。在对输入寄存器230的读写访问可能冲突的实例中,输入寄存器230能使用双口存储单元实现。
已提供了所述实施例的上面说明,使本专业熟悉者能作出或使用本发明。对这些实施例的各种修改是可能的,这里提出的一般原理也能应用到其他实施例。例如,本发明能部分地或整体地以下列方式实行:作为硬件线路,作为制造在专用集成电路的线路结构,或作为加载在非易失性存储器中的固件程序,或作为以机器可读码形式存入数据存储器并从中读出的软件程序,那样的码是可由如微处理器,微控制器,或其他信号处理单元执行的指令。因此,本发明不仅限于上面示出的实施例,而是符合这里揭示的任何原理和新颖特征的最广泛的范围。

Claims (18)

1、一种用于对线性成块码进行编码的方法,其特征在于,包括:
并行接收信息信号的位,所述信息信号包含k位的串,它包括p个具有非零值的位,k和p是整数;
并行接收p个激励响应,所述p个激励响应中的每一个表示线性成块码的编码器对-k位的串的响应,所述串包括k-1个零位以及在对应于所述p位中的1位的位置处的非零位;和
获得校验和,所述校验和包括所述p个激励响应的总和。
2、如权利要求1所述的方法,其特征在于,所述校验和包含n-k位的串,n是整数,且
其中线性成块码由下述形式的生成多项式表征
G ( x ) = 1 + [ Σ i = 1 n - k - 1 gi X i ] + X n - k .
3、如权利要求1所述的方法,其特征在于,所述校验和包含所述p个激励响应的以2为模的和。
4、一种用于对线性成块码进行编码的方法,其特征在于,包含:
接收信息信号,所述信息信号包含k位的串,它包括p个具有非零值的位,k和p是整数;
接收p个激励响应,所述p个激励响应中的每一个表示线性成块码的编码器对-k位的串的响应,所述串包括k-1个零位以及在对应于所述p位中的一位的位置处的非零位;
接收编码器状态信号,所述编码器状态信号包含n-k位的串,它包括r个具有非零值的位,n和r是整数;
接收r个零响应,所述r个零响应中的每一个表示具有一分量初始状态的线性成块码的编码器对k个零位的串的响应,其中所述分量初始状态是包括n-k-1个零位和在对应于所述r位中的一位的位置处非零位的长度为n-k的串;和
获取校验和,所述校验和是所述p个激励响应和所述r个零响应的总和。
5、如权利要求4所述的方法,其特征在于,该线性成块码由下述形式的生成多项式表征
G ( x ) = 1 + [ Σ i = 1 n - k - 1 gi X i ] + X n - k .
6、如权利要求4所述的方法,其特征在于,所述校验和包含所述p个激励响应和所述r个零响应的以2为模的总和。
7、一种用于对线性成块码进行编码的方法,其特征在于,包括
接收用于编码的信号,所述用于编码的信号包括具有k位的第一部分和具有n-k位的第二部分,其中k和n为整数;
接收多个激励响应,每个激励响应表示线性成块码的编码器对一k位的串的响应,所述串包括k-1个零位以及在对应于所述第一部分中一位的位置处的非零位;
接收多个零响应,每个零响应表示具有一分量初始状态的线性成块码的编码器对k个零位的串的响应,其中所述分量初始状态是包括n-k-1个零位和在对应于所述第二部分中一位的位置处非零位的长度为n-k的串;和
获取校验和,
其中所述校验和包含至少两个响应的总和,和
其中所述至少两个响应中的每一个表示所述多个激励响应和所述多个零响应中的一个,和
其中所述至少两个响应中的每一个对应于在用于编码的所述信号中具有非零值的位。
8、如权利要求7所述的方法,其特征在于,所述校验和包含以2为模的和。
9、一种用于对线性成块码进行编码的方法,其特征在于,包含:
接收第一信息信号,所述第一信息信号包含k位的串,它包括p个具有非零值的位,k和p是整数;
接收p个激励响应,所述p个激励响应中的每一个表示线性成块码的编码器对一k位的串的响应,所述串包括k-1个零位以及在对应于所述p位中的一位的位置处的非零位;
接收第一编码器状态信号,所述第一编码器状态信号包含(n-k)位的串,它包括r个具有非零值的位,n和r是整数;
接收r个零响应,所述r个零响应中的每一个表示具有一分量初始状态的线性成块码的编码器对k个零位的串的响应,其中所述分量初始状态是包括n-k-1个零位和在对应于所述r位中的一位的位置处非零位的长度为n-k的串;
获取第二编码器状态信号,所述第二编码器状态信号是所述p个激励响应和所述r个零响应的总和,并包含n-k位的串,它包括S个具有非零值的位;
接收第二信息信号,所述第二信息信号包括k个位的串,它包括q个具有非零值的位;
接收q个激励响应,所述q个激励响应中的每一个表示线性成块码的编码器对一k位的串的响应,所述串包括k-1个零位以及在对应于所述q位中的一位的位置处的非零位;
接收S个零响应,所述S个零响应中的每一个表示具有一分量初始状态的线性成块码的编码器对k个零位的串的响应,其中所述分量初始状态是包括n-k-1个零位和在对应于所述S位中的一位的位置处非零位的长度为n-k的串;和
获取校验和,所述校验和是所述q个激励响应和S个零响应的总和。
10、如权利要求9所述的方法,其特征在于,该线性成块码由下述形式的生成多项式表征
G ( x ) = 1 + [ Σ i = 1 n - k - 1 gi X i ] + X n - k .
11、如权利要求9所述的方法,其特征在于,所述校验和包含所述q个激励响应和所述S个零响应的以2为模的总和。
12、一种用于对线性成块码进行编码的方法,其特征在于,包括:
并行接收信息信号的位,所述信息信号包含k位的串,它包括p个具有非零值的位,k和p是整数;
并行接收k个激励响应,所述k个激励响应中的每一个表示线性成块码的编码器对-k位的串的响应,所述串包括k-1个零位以及在对应于所述k位中的一位的位置处的非零位;和
获取校验和,所述校验和包含所述k个激励响应中对应于所述p个位的p个激励响应的总和。
13、如权利要求12所述的方法,其特征在于,该线性成块码由下述形式的生成多项式表征
G ( x ) = 1 + [ Σ i = 1 n - k - 1 gi X i ] + X n - k .
14、如权利要求12所述的方法,其特征在于,所述校验和包含所述p个激励响应的以2为模的总和。
15、一种用于对线性成块码进行编码的装置,其特征在于,包含:
配置成并安排成存储线性成块码的编码器的多个响应的查找表,
配置成并安排成接收信息信号以及来自所述查找表的所述多个响应并输出校验和的逻辑矩阵;和
其中所述多个响应的每一个包含该编码器对预定输入串的响应,和
其中所述校验和包含所述多个响应中的至少两个的总和,和
其中所述多个响应中的至少两个根据所述信息信号而选择。
16、如权利要求15所述的装置,其特征在于,所述信息信号包含k位的串,k是一个整数,和
其中所述多个响应包括k个激励响应,所述k个激励响应中的每一个
包含具有零初始状态的编码器对一k位的串的响应,其中所述k位的串
包括k-1个零值的位和在对应于所述信息信号中位置的位置处非零值的位。
17、如权利要求15所述的装置,其特征在于,所述逻辑矩阵还配置和安排成接收编码器状态信号,和
其中所述多个响应中的至少两个根据所述编码器状态信号而选择。
18、如权利要求17所述的装置,其特征在于,所述编码器状态信号包括n-k位的串,n是整数,和
其中所述多个响应包括n-k个零响应,所述n-k个零响应中的每一个包含具有一分量初始状态的编码器对k个具有零值的位的串的响应,其中所述分量初始状态是一个位串,包括n-k-1个具有零值的位和在对应于所述编码器状态信号中位置的位置处具有非零值的位。
CNB018195199A 2000-09-26 2001-09-14 编码线性成块码的方法和装置 Expired - Fee Related CN1333530C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/671,372 US6763492B1 (en) 2000-09-26 2000-09-26 Method and apparatus for encoding of linear block codes
US09/671,372 2000-09-26
PCT/US2001/028496 WO2002027939A2 (en) 2000-09-26 2001-09-14 Method and apparatus for encoding of linear block codes

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CNA2007101278921A Division CN101083468A (zh) 2000-09-26 2001-09-14 编码线性成块码的方法和装置

Publications (2)

Publication Number Publication Date
CN1476675A CN1476675A (zh) 2004-02-18
CN1333530C true CN1333530C (zh) 2007-08-22

Family

ID=24694257

Family Applications (2)

Application Number Title Priority Date Filing Date
CNA2007101278921A Pending CN101083468A (zh) 2000-09-26 2001-09-14 编码线性成块码的方法和装置
CNB018195199A Expired - Fee Related CN1333530C (zh) 2000-09-26 2001-09-14 编码线性成块码的方法和装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNA2007101278921A Pending CN101083468A (zh) 2000-09-26 2001-09-14 编码线性成块码的方法和装置

Country Status (15)

Country Link
US (1) US6763492B1 (zh)
EP (2) EP2209215A1 (zh)
JP (1) JP2004510380A (zh)
KR (1) KR100894234B1 (zh)
CN (2) CN101083468A (zh)
AU (1) AU2001289032A1 (zh)
BR (1) BR0114169A (zh)
CA (1) CA2423425A1 (zh)
HK (1) HK1061121A1 (zh)
IL (1) IL154898A0 (zh)
MX (1) MXPA03002622A (zh)
NO (1) NO20031352L (zh)
RU (1) RU2003112223A (zh)
TW (1) TW531973B (zh)
WO (1) WO2002027939A2 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7458006B2 (en) * 2002-02-22 2008-11-25 Avago Technologies General Ip (Singapore) Pte. Ltd. Methods for computing the CRC of a message from the incremental CRCs of composite sub-messages
US6904558B2 (en) * 2002-02-22 2005-06-07 Agilent Technologies, Inc. Methods for computing the CRC of a message from the incremental CRCs of composite sub-messages
WO2003090362A1 (fr) * 2002-04-22 2003-10-30 Fujitsu Limited Codeur et decodeur de detection d'erreur, et diviseur
US20050219975A1 (en) * 2002-06-28 2005-10-06 Koninklijke Philips Electronics N.V. Method and arrangement for the generation of an identification data block
US7434150B1 (en) 2004-03-03 2008-10-07 Marvell Israel (M.I.S.L.) Ltd. Methods, circuits, architectures, software and systems for determining a data transmission error and/or checking or confirming such error determinations
US7360142B1 (en) 2004-03-03 2008-04-15 Marvell Semiconductor Israel Ltd. Methods, architectures, circuits, software and systems for CRC determination
JP2006060663A (ja) * 2004-08-23 2006-03-02 Oki Electric Ind Co Ltd 巡回符号回路
SE0403218D0 (sv) 2004-12-30 2004-12-30 Ericsson Telefon Ab L M Method and apparatus relating to communication-
DE102005018248B4 (de) * 2005-04-19 2014-06-12 Deutsche Gesetzliche Unfallversicherung E.V. (Dguv) Prüfverfahren zur sicheren, beschleunigten Erkennung von Datenfehlern und Vorrichtung zur Durchführung des Prüfverfahrens
US7500174B2 (en) * 2005-05-23 2009-03-03 Microsoft Corporation Encoding and application of extended hamming checksum
KR100850787B1 (ko) * 2006-12-08 2008-08-06 한국전자통신연구원 상위 인터페이스 메모리를 이용한 시공간 블록 코드 방식의인코딩 장치 및 그 방법
US8103934B2 (en) 2007-12-21 2012-01-24 Honeywell International Inc. High speed memory error detection and correction using interleaved (8,4) LBCs
US9003259B2 (en) * 2008-11-26 2015-04-07 Red Hat, Inc. Interleaved parallel redundancy check calculation for memory devices
RU2585992C2 (ru) * 2012-01-11 2016-06-10 Шэньчжэнь Хэк Телеком Текнолоджи Ко., Лтд. Система и способ для беспроводной связи
CN107302420B (zh) * 2017-06-20 2019-11-08 北京科技大学 一种线性网络编码方法
CN111146986B (zh) * 2019-12-30 2022-08-12 深圳市越疆科技有限公司 磁编码器的位置定位方法、装置、电子设备及计算机可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0470451A2 (en) * 1990-08-07 1992-02-12 National Semiconductor Corporation Implementation of the high-level data link control cyclic redundancy check (HDLC CRC) calculation
WO1994015407A1 (en) * 1992-12-29 1994-07-07 Codex Corporation Efficient crc remainder coefficient generation and checking device and method
EP0609595A1 (en) * 1993-02-05 1994-08-10 Hewlett-Packard Company Method and apparatus for verifying CRC codes
JPH10135847A (ja) * 1996-10-25 1998-05-22 Nec Corp Atm通信装置の並列型ヘッダ誤り訂正回路およびヘッダ誤り訂正方法
US6029186A (en) * 1998-01-20 2000-02-22 3Com Corporation High speed calculation of cyclical redundancy check sums
WO2000013322A1 (en) * 1998-08-26 2000-03-09 Telefonaktiebolaget Lm Ericsson (Publ) Parallel crc generation circuit for generating a crc code
CN1325199A (zh) * 2000-08-08 2001-12-05 深圳市中兴通讯股份有限公司 一种数字通信系统中的信道循环冗余码校验的方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4623999A (en) * 1984-06-04 1986-11-18 E-Systems, Inc. Look-up table encoder for linear block codes
JPH03272224A (ja) * 1990-03-20 1991-12-03 Canon Inc 情報信号処理方法
US5491700A (en) * 1993-10-01 1996-02-13 Pacific Communication Sciences, Inc. Method and apparatus for code error correction using an ordered syndrome and error correction lookup table
JPH07264078A (ja) * 1994-03-23 1995-10-13 Kokusai Electric Co Ltd Bch符号化装置及びbch符号化方法
US5703887A (en) * 1994-12-23 1997-12-30 General Instrument Corporation Of Delaware Synchronization and error detection in a packetized data stream
US6308295B1 (en) * 1996-10-08 2001-10-23 Arizona Board Of Regents Parallel spectral reed-solomon encoder and decoder
US5978956A (en) * 1997-12-03 1999-11-02 Quantum Corporation Five-error correction system
US6195780B1 (en) * 1997-12-10 2001-02-27 Lucent Technologies Inc. Method and apparatus for generating cyclical redundancy code
US6263470B1 (en) * 1998-02-03 2001-07-17 Texas Instruments Incorporated Efficient look-up table methods for Reed-Solomon decoding
US6105158A (en) * 1998-04-03 2000-08-15 Lucent Technologies, Inc. Screening for undetected errors in data transmission systems
US6336200B1 (en) * 1998-05-22 2002-01-01 Kencast, Inc. Method for validating communicated packets of data and for locating erroneous packets
US6360348B1 (en) * 1999-08-27 2002-03-19 Motorola, Inc. Method and apparatus for coding and decoding data
EP1260023A2 (en) * 2000-02-17 2002-11-27 Analog Devices, Inc. Method, apparatus, and product for use in generating crc and other remainder based codes

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0470451A2 (en) * 1990-08-07 1992-02-12 National Semiconductor Corporation Implementation of the high-level data link control cyclic redundancy check (HDLC CRC) calculation
WO1994015407A1 (en) * 1992-12-29 1994-07-07 Codex Corporation Efficient crc remainder coefficient generation and checking device and method
EP0609595A1 (en) * 1993-02-05 1994-08-10 Hewlett-Packard Company Method and apparatus for verifying CRC codes
JPH10135847A (ja) * 1996-10-25 1998-05-22 Nec Corp Atm通信装置の並列型ヘッダ誤り訂正回路およびヘッダ誤り訂正方法
US6029186A (en) * 1998-01-20 2000-02-22 3Com Corporation High speed calculation of cyclical redundancy check sums
WO2000013322A1 (en) * 1998-08-26 2000-03-09 Telefonaktiebolaget Lm Ericsson (Publ) Parallel crc generation circuit for generating a crc code
CN1325199A (zh) * 2000-08-08 2001-12-05 深圳市中兴通讯股份有限公司 一种数字通信系统中的信道循环冗余码校验的方法

Also Published As

Publication number Publication date
WO2002027939A2 (en) 2002-04-04
EP2209215A1 (en) 2010-07-21
US6763492B1 (en) 2004-07-13
CA2423425A1 (en) 2002-04-04
TW531973B (en) 2003-05-11
NO20031352L (no) 2003-05-08
CN101083468A (zh) 2007-12-05
IL154898A0 (en) 2003-10-31
JP2004510380A (ja) 2004-04-02
NO20031352D0 (no) 2003-03-25
KR100894234B1 (ko) 2009-04-20
BR0114169A (pt) 2003-12-09
CN1476675A (zh) 2004-02-18
RU2003112223A (ru) 2004-08-27
EP1323235A2 (en) 2003-07-02
HK1061121A1 (en) 2004-09-03
WO2002027939A3 (en) 2002-05-30
KR20030036826A (ko) 2003-05-09
AU2001289032A1 (en) 2002-04-08
MXPA03002622A (es) 2004-05-24

Similar Documents

Publication Publication Date Title
CN1333530C (zh) 编码线性成块码的方法和装置
US6839870B2 (en) Error-correcting code interleaver
US3745526A (en) Shift register error correcting system
JP3046988B2 (ja) データストリームのフレーム同期検出方法及び装置
CN101636914A (zh) 用于编码和解码数据的方法和装置
CN103324548A (zh) 存储器控制器
JPS6037834A (ja) 誤り訂正符号の復号方法および復号器
CN112468161B (zh) 一种rs高速编码电路
WO2020072323A1 (en) Burst error tolerant decoder and related systems, methods and devices
Sidorenko et al. A linear algebraic approach to multisequence shift-register synthesis
CN102037651A (zh) 解码装置、数据存储装置、数据通信系统以及解码方法
GB2088600A (en) Apparatus for sorting data words on the basis of the valuees of associated parameters
WO2010053152A1 (ja) 復号装置、この復号装置を有するデータ通信装置およびデータ記憶装置
CN100459438C (zh) 里德所罗门解码器的关键方程与错误值求解优化电路
US8959403B2 (en) QPP interleaver/de-interleaver for turbo codes
CN115632662A (zh) 一种rs译码中的伴随式计算方法、装置、设备及介质
RU2608872C1 (ru) Способ кодирования и декодирования блокового кода с использованием алгоритма Витерби
CN109728826B (zh) 一种数据交织与解交织方法和装置
Tallini et al. Efficient systematic deletions/insertions of 0’s error control codes
US6301307B1 (en) Methods and apparatuses for the transmission and receipt of digital data modulated using quadrature amplitude modulation, and communication devices utilizing such apparatuses and methods
CN1121758C (zh) 编码芯片
CN101562457A (zh) 编码输入序列时用于执行比特咬尾的编码器和方法
JP4308226B2 (ja) 誤り訂正符号化装置
EP0851621A1 (en) Coded modulation for constellations with fewer symbols than that which the coding scheme requires
SU1106014A1 (ru) Устройство мажоритарного декодировани двоичных последовательностей

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1061121

Country of ref document: HK

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

Termination date: 20110914