CN101207456A - 光集线装置以及光用户装置 - Google Patents

光集线装置以及光用户装置 Download PDF

Info

Publication number
CN101207456A
CN101207456A CN200710126850.6A CN200710126850A CN101207456A CN 101207456 A CN101207456 A CN 101207456A CN 200710126850 A CN200710126850 A CN 200710126850A CN 101207456 A CN101207456 A CN 101207456A
Authority
CN
China
Prior art keywords
errors
search
fec
calculating part
fec frame
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.)
Pending
Application number
CN200710126850.6A
Other languages
English (en)
Inventor
大平昌辉
土浓塚太郎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Communication Technologies Ltd
Original Assignee
Hitachi Communication Technologies Ltd
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 Hitachi Communication Technologies Ltd filed Critical Hitachi Communication Technologies Ltd
Publication of CN101207456A publication Critical patent/CN101207456A/zh
Pending 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
    • 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
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/155Shortening or extension of 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/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
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon 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/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
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-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/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
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1525Determination and particular use of error location polynomials
    • H03M13/1535Determination and particular use of error location polynomials using the Euclid algorithm
    • 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
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1545Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
    • 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/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/14Monitoring arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1694Allocation of channels in TDM/TDMA networks, e.g. distributed multiplexers
    • 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/0045Arrangements at the receiver end
    • 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

Abstract

G-PON的下行信号的FEC帧长度为255和120两种,本发明提供即使FEC帧长度不同,也能够以相同的纠错码来处理的光集线装置以及光用户装置。光集线装置的PON收发部包含纠错码解码器。该解码器包含压缩补偿参数表、参照该压缩补偿参数表运算校验子的校验子计算部、或参照压缩补偿参数表运算错误位置或错误值的错误搜索部。另外,光用户装置的PON收发部包含纠错码解码器,该解码器包含压缩补偿参数表、参照该压缩补偿参数表运算校验子的校验子计算部、或参照压缩补偿参数表运算错误位置或错误值的错误搜索部。

Description

光集线装置以及光用户装置
技术领域
本发明涉及在用户住宅与通信运营商站点之间通信的光接入系统的光集线装置(optical hub)以及光用户装置(optical subscriber equipment)。
背景技术
在传输声音或图像等数据的公共通信网中,电话用户网和ADSL等在将用户收集在站点中的接入网中得到了利用。而且近年来开始引入了光接入系统。
该光接入系统,作为在站点侧与用户之间以1对n进行连接的形态,已知有PON(Passive Optical Network)。在PON中,对上行用与下行用各分配一个光波长,在设置于站点中的OLT(Optical Line Terminal)与多个用户家中的ONT(Optical Network Terminal)之间,共用频带来进行数据通信。从OLT向ONT的下行侧信号中途在光分路器(splitter)中被分配光信号,在ONT侧仅取出发给自身的信号,由此进行通信。关于上行信号,从OLT向ONT通知发送时间定时,与该定时相符地由ONT向OLT发送信号,由此,以多个ONT共用一个波长来进行与OLT的通信。
作为这种光接入系统,已知B-PON(Broadband PON)、A-PON(ATMPON)、GE-PON(Giga-bit Ether PON)、G-PON(Gigabit-capable PON)。特别地,G-PON速度最快,其最高速度为上行1.25Gbit/s、下行2.5Gbit/s,通过采用支持ATM、Ethernet(注册商标)、WDM协议的本地(native)GEM(Gigabit-capable Encapsulation Method/G-PON Encapsulation Method),在支持多个协议这点受到了关注。
如上所述,在OLT与ONT之间存在光分路器,因此下行信号和上行信号都受到衰减。所以,正在研究对PON也应用纠错码(FEC:Forward ErrorCorrection code)的编码·解码技术。作为纠错码,在数学上具有整齐体系的块码(block code)中,只应用根据信息的透过性而被称为组织码的块码。组织码的特征在于,按一定的分组分割连续的信号序列,在每个分组中进行编码,通过仅在信号内的预定空区域中附加校验位(check bit),不对原信号信息进行操作。作为块码,一直以来应用了汉明码(hamming code)、BCH码(Bose-Chaudhuri-Hocquenghem code)、里德所罗门码(Reed-solomon code)等。以后,将纠错码的编码、解码简称为编码、解码。
在US7024616B1中记载了:在一芯的光纤中传送的光信号的时分复用度达到2倍左右时以及波长复用时,都可以维持原传送距离,使光信号的中继间隔增至4倍,与引入了ITU-T标准G.975规定的8个纠错里德所罗门码的现有传送网之间的相互连接性良好,具有更高的增益的纠错码的构成方法和传送装置。
发明内容
G-PON的下行信号的FEC帧长度为255和120两种,本发明提供即使FEC帧长度不同,也能够以相同纠错码来处理的光集线装置以及光用户装置。
所述课题可通过以下光集线装置实现。该光集线装置由光电变换部、PON收发部以及物理层构成,PON收发部包含纠错码解码部,该纠错码解码部包含:压缩补偿参数表、参照该压缩补偿参数表运算校验子(syndrome)的校验子计算部、或参照该压缩补偿参数表运算错误位置或错误值的错误搜索部。
另外,所述课题可通过以下光用户装置实现。该光用户装置由光电变换部、PON收发部以及物理层构成,PON收发部包含纠错码解码器,该纠错码解码器包含:压缩补偿参数表、参照该压缩补偿参数表运算校验子的校验子计算部、或参照压缩补偿参数表运算错误位置或错误值的错误搜索部。
附图说明
图1是光接入网络的框图。
图2是OLT的框图。
图3是ONT的框图。
图4是OLT的PON收发块的框图。
图5是ONT的PON收发块的框图。
图6是OLT的PON接收部与PON发送部的框图。
图7是ONT的PON接收部与PON发送部的框图。
图8A是说明FEC码字的结构(串行8位)的图。
图8B是说明FEC码字的结构(并行8位)的图。
图8C是说明FEC码字的结构(并行16位,其一)的图。
图8D是说明FEC码字的结构(并行16位,其二)的图。
图8E是说明FEC码字的结构(并行8位,可变字长)的图。
图8F是说明FEC码字的结构(并行16位,可变字长)的图。
图9是说明参数载入型乘法器的图。
图10是说明固定型乘法器的图。
图11是FEC解码器的框图。
图12是校验子计算部的框图。
图13是多项式系数计算部的框图。
图14是错误搜索部的框图。
图15是多项式系数计算部的框图。
图16是说明压缩补偿参数表的图。
图17是说明逆元素参数表的图。
图18是FEC解码器的动作时序图。
图19是Sk计算电路的框图。
图20是说明错误位置计算部的基本单元的框图。
图21是说明错误值计算部的基本单元的框图(其一)。
图22是说明错误值计算部的基本单元的框图(其二)。
图23是说明错误值计算部的基本单元的框图(其三)。
图24是FEC解码器的框图。
图25是校验子计算部的框图。
图26是多项式系数计算部的框图。
图27是错误搜索部的框图。
图28是纠错部的框图。
图29是Sk计算电路的框图。
图30是错误搜索部的框图。
图31是说明错误位置计算部的框图(其A1)。
图32是说明错误值计算部的框图(其A1)。
图33是说明错误值计算部的框图(其A2)。
图34是说明错误值计算部的框图(其A3)。
图35是说明错误位置值计算部的框图(其B1)。
图36是说明错误值计算部的框图(其B1)。
图37是说明错误值计算部的框图(其B2)。
图38是说明错误值计算部的框图(其B3)。
具体实施方式
以下,参照附图,使用实施例对本发明的实施方式进行说明。此外,原则上对实质相同的部位标注相同的参照号码,不重复说明。但是,FEC解码器使用参照号码903和500。
图1是光接入网络的框图。光接入网络10由光集线装置(OLT:Optical LineTerminal)1、光用户装置(ONT:Optical Network Terminal)2、光分路器3、OLT1与光分路器3之间的主干光纤8、以及光分路器3与ONT2之间的用户光纤9构成。ONT2与IP系统4以及TDM系统5相连。另外,OLT1与IP网络6以及TDM网络7相连。
来自TDM系统5的TDM信号经由光接入网络10被收集在TDM网络7中。另外,来自IP系统4的信号经由光接入网络10被收集在IP网络6中。这些信号称为上行信号。
相反地,来自TDM网络7的TDM信号经由光接入网络10被收集在TDM系统5中。另外,来自IP网络6的信号经由光接入网络10被收集在IP系统4中。这些信号称为下行信号。
此外,在以下说明的图7以前的框图中,信号的流向(上行、下行)与图1一致。
图2是OLT的框图。来自主干光纤8的上行光信号,在通过光电变换模块71变换为电信号后,通过OLT PON收发块72GEM终结(terminate)。变换所得的电信号通过GEM终端被变换为Ethernet信号以及TDM信号。分别通过Ethernet PHY73以及TDM PHY74将Ethernet信号和TDM信号发送至IP网络6以及TDM网络7。
来自IP网络6以及TDM网络7的下行信号,分别通过Ethernet PHY73以及TDM PHY74接收后,被发送到OLT PON收发块72。OLT PON收发块72在进行GEM帧组合后,经由光电变换模块71向主干光纤8进行发送。MPU75、RAM76以及控制系统接口77是用于控制OLT1的微控制器、RAM以及用于从外部对OLT1进行设定的接口。
图3是ONT的框图。来自用户光纤9的下行光信号,在通过光电变换模块81变换为电信号后,通过ONT PON收发块82GEM终结。ONT PON收发块82将变换所得的电信号变换为Ethernet帧以及TDM信号。分别经由EthernetPHY83以及TDM PHY84将Ethernet帧以及TDM信号发送至IP系统4以及TDM系统5。
来自IP系统4以及TDM系统5的上行信号,分别通过Ethernet PHY83或TDM PHY84接收后,被发送至ONT PON收发块82。ONT PON收发块82在进行了GEM帧组合后,经由光电变换模块81被发送至用户光纤9。MPU85、RAM86以及控制系统接口87是用于控制ONT2的微控制器、RAM以及用于从外部对ONT2进行设定的接口。
图4是OLT的PON收发块的框图。来自光电变换模块71的上行PON帧信号通过PON接收部90进行了同步处理以及GEM切割处理后,切割而得的有效载荷(payload)被发送至接收GEM组合部91。接收GEM组合部91将分割为多个短期帧来发送的GEM进行组合。然后,存储在接收GEM缓冲器92中,根据OLT接收表93的表信息,将其分配至OLT上行Ethernet GEM终端部94和OLT上行TDM GEM终端部96。
OLT上行Ethernet GEM终端部94从GEM帧中提取出Ethernet帧,经由OLT上行Ethernet接口95将提取出的Ethernet帧发送至Ethernet PHY73。OLT上行TDM GEM终端部96从GEM帧中提取出TDM信号,在希望的时刻,经由OLT上行TDM接口97将提取出的TDM信号发送至TDM PHY74。
关于下行信号,OLT下行TDM接口104从TDM PHY74接收TDM信号。OLT下行TDM GEM终端部103对TDM信号进行缓冲,生成GEM。OLT下行Ethernet接口106接收来自Ethernet PHY73的Ether帧。OLT下行EthernetGEM终端部105生成GEM。OLT发送调度器(Scheduler)102控制OLT下行TDM GEM终端部103,周期性地将TDM的GEM发送至发送GEM缓冲器101。OLT发送调度器102还控制OLT下行Ethernet GEM终端部105,在空闲时刻将Ether信号的GEM发送至发送GEM缓冲器101。OLT发送调度器102控制发送GEM缓冲器101,周期性地将TDM信号的GEM和Ether信号的GEM转发至发送GEM组合部100。发送GEM组合部100将PON帧的有效载荷部分的GEM组合,转发至PON发送部99。PON发送部99在生成报头(header)后进行PON帧的发送。
在进行OLT1和ONT2的距离测定、即测距(ranging)时,在OLT发送调度器102许可的时刻,测距控制部98将测距信号从PON发送部99送出。来自ONT2的应答经由PON接收部90返回测距控制部98,由此结束测距。
此外,经由MPU接口107,MPU75进行针对各控制块的控制。
图5是ONT的PON收发块的框图。PON接收部127接收来自光电变换模块81的下行信号。PON接收部127进行同步处理、GEM切割处理。接收GEM组合部126将分割为多个短期帧来发送的GEM组合。将组合而得的GEM存储在接收GEM缓冲器125中,根据ONT接收表124的表信息,分配至ONT下行Ethernet GEM终端部121与ONT下行TDM GEM终端部123。ONT下行Ethernet GEM终端部121从GEM中提取出Ethernet帧。通过ONT下行Ethernet接口120将Ethernet帧送至Ethernet PHY83。ONT下行TDM GEM终端部123从GEM提取出TDM信号,在预定时刻,通过ONT下行TDM接口122将其送至TDM PHY84。
关于上行信号,ONT上行TDM接口134接收TDM信号。ONT上行TDMGEM终端部133对TDM信号进行缓冲,组合GEM。ONT上行Ethernet接口136接收Ether帧。ONT上行Ethernet GEM终端部135进行GEM的生成。ONT发送调度器131控制ONT上行TDM GEM终端部133,周期性地将TDM的GEM转发至发送GEM缓冲器132。另外,ONT发送调度器131控制ONT上行Ethernet GEM终端部135,在空闲时刻将Ethernet的GEM转发至发送GEM缓冲器132。ONT发送调度器131控制发送GEM缓冲器132,周期性地将TDM的GEM与Ethernet的GEM转发至发送GEM组合部130。发送GEM组合部130将PON帧的有效载荷部分的GEM组合,转发至PON发送部129。PON发送部129在生成报头后进行PON帧的发送。
当请求测距时,通过测距控制部128对PON接收部127接收到的测距请求信号进行处理,立即经由PON发送部129返回测距接收信号。
此外,经由MPU接口137,MPU85进行针对各控制块的控制。
图6是OLT的PON接收部与PON发送部的框图。另外,图7是ONT的PON接收部与PON发送部的框图。图6(a)中,OLT PON接收部90由以下各部构成:取得上行信号的帧同步的帧同步部902、解除扰频(Scramble)的解扰器(descrambler)901、将信息字与FEC奇偶校验位(Parity)分离,进行信息字的纠错的FEC解码器903、PON帧终端部904、以及对密码进行解码的密码解码器905。图6(b)中,OLT PON发送部99由以下各部构成:对下行信号进行加密的密码编码器991、将加密数据PON帧化的PON帧生成部992、在PON帧中附加FEC奇偶校验位的FEC编码器993、插入帧同步信号的帧同步信号插入部994、以及扰频器(scrambler)995。
图7(a)的ONT PON接收部127,除信号的流动以外与图6(a)的OLTPON接收部90为相同结构。另外,图7(b)的ONT PON发送部129,除了信号的流动以外与图6(b)的OLT PON发送部99为相同结构。因此省略说明。
此外,在上行侧未采用密码的情况下,不需要OLT PON接收部90的密码解码器905、以及ONT PON发送部129的密码编码器991。
图8A是说明FEC码字的结构(串行8位)的图。图8B是说明FEC码字的结构(并行8位)的图。图8C是说明FEC码字的结构(并行16位,其一)的图。图8D是说明FEC码字的结构(并行16位,其二)的图。图8E是说明FEC码字的结构(并行8位,可变字长)的图。图8F是说明FEC码字的结构(并行16位,可变字长)的图。
在图8A中,FEC码字为255字节的固定长度,从先头字节#1到#239的239字节为信息字,从#240到#255的16字节为FEC奇偶校验位。另外,1字节是连续的8位(bit)。
在图8B中,FEC码字为255字节的固定长度,从先头字节#1到#239的239字节为信息字,从#240到#255的16字节为FEC奇偶校验位。另外,1个字节是并行的8位。与图8A的FEC码字相比,图8B的FEC码字的速度可以为1/8。
在图8C和图8D中,FEC码字为255字节的固定长度,从先头字节#1到#239的239字节为信息字,从#240到#255的16字节为FEC奇偶校验位。另外,每两字节为并行的16位。其中,FEC码字长度固定为255字节,因此需要第奇数个FEC码字A、C使用的处理电路、和第偶数个FEC码字B使用的处理电路。此外,以下将在16位并行的FEC码字的先头或末尾出现的多余的1个字节称为钩(hook)来进行说明。与图8B的FEC码字相比,图8C、图8D的FEC码字的速度可以为1/2。
在图8E中,FEC码字为17字节以上255字节以下的可变长度,末尾的16字节为FEC奇偶校验位,先头的至少1个字节、至多239个字节为信息字。另外,1个字节为并行的8位。
在图8F中,FEC码字为17字节以上255字节以下的可变长度,末尾的16字节为FEC奇偶校验位,先头的至少1个字节、至多239字节为信息字。另外,每两字节为并行的16位。
参照图9以及图10,说明FEC解码器的乘法器。在此,图9是说明参数载入型乘法器的图。图10是说明固定型乘法器的图。在图9中,参数载入型乘法器以参数(α^k)^j(k、j是上标,不是幂运算)和8位并列值u作为输入,根据以参数(α^k)^j设定的矩阵参数Ak,将8位并列值u变换为8位并列值w。矩阵参数Ak的各元素为0或1,通过所输入的(α^k)^j而唯一决定。(α^k)^j是伽罗瓦域(Galois field)(256)的元素,以8位2进制表示矩阵参数Ak的第8行(a81 a82 a83 a84 a85 a86 a87 a88)。
针对1≤m≤7的m,从m=7开始顺次使p=m+1,通过计算式1得到矩阵参数Ak的第1~7行。此外,式1的“+”是“异或运算(排他的論理和)”。
【数学式1】
a m 1 = a p 2 a m 2 = a p 3 a m 3 = a p 4 a m 4 = a p 5 + a p 1 a m 5 = a p 6 + a p 1 a m 6 = a p 7 + a p 1 a m 7 = a p 8 a m 8 = a p 1 式1
根据矩阵参数Ak的元素和u,通过式2求得w。此外,“·”是“与运算”,“+”是“异或运算”。
【数学式2】
w 1 = a 11 · u 1 + a 12 · u 2 + a 13 · u 3 + · · · + a 18 · u 8 w 2 = a 21 · u 1 + a 22 · u 2 + a 23 · u 3 + · · · + a 28 · u 8 w 3 = a 31 · u 1 + a 32 · u 2 + a 33 · u 3 + · · · + a 38 · u 8 · · · w 8 = a 81 · u 1 + a 82 · u 2 + a 83 · u 3 + · · · + a 88 u 8 式2
在图10中,固定乘法电路242(×α^k)使用其矩阵参数Bk,将8位并列的输入u变换为8位并列的输出w。矩阵参数Bk的各元素为0或1。α^k是伽罗瓦域(256)的元素,以8位2进制表示矩阵参数Bk的第8行(b81 b82 b83b84 b85 b86 b87 b88)。
针对1≤m≤7的m,从m=7开始顺次使p=m+1,通过与式1同样地计算,得到矩阵参数Bk的第1~7行。
根据矩阵参数Bk的元素和u,通过式3求得w。此外,“·”是“与运算”,“+”是“异或运算”。
【数学式3】
w 1 = b 11 · u 1 + b 12 · u 2 + b 13 · u 3 + · · · + b 18 · u 8 w 2 = b 21 · u 1 + b 22 · u 2 + b 23 · u 3 + · · · + b 28 · u 8 w 3 = b 31 · u 1 + b 32 · u 2 + b 33 · u 3 + · · · + a 38 · u 8 · · · w 8 = b 81 · u 1 + b 82 · u 2 + b 83 · u 3 + · · · + a 88 u 8 式3
参照图11至图23,详细说明8位并列输入数据用的FEC解码器。在此,图11是FEC解码器的框图。图12是校验子(syndrome)计算部的框图。图13是多项式系数计算部的框图。图14是错误搜索部的框图。图15是多项式系数计算部的框图。图16是说明压缩补偿参数表的图。图17是说明逆元素参数表的图。图18是FEC解码器的动作时序图。图19是Sk计算电路的框图。图20是说明错误位置计算部的基本单元的框图。图21是说明错误值计算部的基本单元的框图(其一)。图22是说明错误值计算部的基本单元的框图(其二)。图23是说明错误值计算部的基本单元的框图(其三)。
在图11中,FEC解码器500输入8位并列的数据600、解码执行信号603、FEC帧顶(frame top)识别信号601、FEC帧长度602,输出纠错所得到的8位并列信号604。FEC解码器500由以下各部构成:校验子计算部510、多项式系数计算部520、错误搜索部530、数据存储器540、纠错部550、压缩补偿参数表560、570、以及逆元素参数表580。
将时钟605、FEC帧顶识别信号601、FEC帧长度602分配给FEC解码器500的各部。FEC帧顶识别信号601表示8位并列的数据流上的FEC帧的开始时刻。FEC帧长度602表示被压缩时压缩后的FEC帧的长度。FEC帧长度602也可以是压缩而省略的字节数。此时,可以将(255-FEC帧长度602)替换为以后的FEC帧长度602。
校验子计算部510和错误搜索部530,为了决定与要计算的FEC帧对应的参数,计算对应于FEC帧长度602的压缩补偿参数表560、逆元素参数表580的地址,从压缩补偿参数表560、逆元素参数表580读出该地址的内容,决定用于进行与压缩等价的计算的参数。多项式系数计算部520进行与其性质、压缩程度无关的计算。
将8位并列输入数据600输入数据存储器540和校验子计算部510。数据存储器540在校验子计算、多项式系数计算、错误搜索期间存储数据。校验子计算部510将读出请求660发送至压缩补偿参数表560-1。压缩补偿参数表560-1将压缩补偿参数611返回校验子计算部510。校验子计算部510根据压缩补偿参数611进行校验子计算,将校验子610和校验子判定结果611发送至多项式系数计算部520。
多项式系数计算部520根据接收到的校验子610和校验子判定结果611来计算多项式系数,将多项式系数620和多项式系数判定结果621发送至错误搜索部530。错误搜索部530向压缩补偿参数表560-2和逆元素参数表580发送读出请求660、680。压缩补偿参数表560-2将压缩补偿参数661发送至错误搜索部530。同样地,逆元素参数表580将逆元素参数681发送至错误搜索部530。错误搜索部530根据多项式系数620、多项式判定结果621、压缩补偿参数661、逆元素参数681,进行错误搜索,将错误位置VLD(Valid)信号630、错误值631、错误搜索判定结果632发送至纠错部550。
接收到错误位置VLD信号630、错误值631、错误搜索判定结果632的纠错部550,从数据存储器540读出输入数据600,当接收到解码执行指示信号603时进行纠错,将输出数据604输出。在各表中可以唯一地决定地址与内容的对应关系即可,例如图16、图17可以上下颠倒。压缩补偿参数表560-1和560-2可以共用,在这种情况下,连续地执行两个读出请求660。
在图12中,校验子计算部510由以下各部构成:接收8位并列数据600的延迟存储器511、与延迟存储器511相连的16个Sk计算电路512-k(k=0~15)、与Sk计算电路512-k相连的存储器516和校验子判定部517、接收FEC帧长度602,计算压缩参数表的参照地址的参照地址计算部518。
参照地址计算部518根据FEC帧长度602计算应该参照的表560的地址,向压缩补偿参数表560发送读出请求660。将从压缩补偿参数表560发送的压缩补偿参数661输入Sk计算电路512-k。该参数用于在Sk计算电路512-k中进行乘法计算(“×(α^k)^j”)。
Sk计算电路512-k,当来自延迟存储器511的输入数据是信息区域时,以该参数进行乘法计算,当输入数据是FEC校验位区域时,不进行乘法计算。
根据FEC帧长度602、FEC帧顶识别信号601来计算识别FEC帧的校验位区域的开始时刻。但不限于此,也可以作为其他手段,从FEC解码器的外部获取校验位区域的开始信号。
直到校验位区域的最后,在输入并计算的时刻确定该FEC帧的校验子。存储器516在确定校验子610后将其保存并持续输出,直到确定下一FEC帧的校验子。
校验子判定部517判定得到的校验子610B(S15~S0)是否全部为“0”,作为校验子判定结果611而输出。当S15~S0全部为“0”时,判定为该FEC帧中不存在错误,在校验子判定结果611中显示“无错误”。当S15~S0中1个以上不是“0”时,校验子判定部517判定为相应的FEC帧中存在错误,在校验子判定结果611中显示“存在错误”。
校验子判定结果611与校验子610的输出时刻同步,并持续输出,直到确定下一FEC帧的校验子。后级的多项式系数计算部520根据该校验子判定结果611而动作。以下说明校验子判定部510的控制。首先,将
y254 y253 y252...y16+jy15y14...y0作为FEC解码器的输入数据。
y254是FEC帧的先头的1字节,y0是FEC帧的最后的1字节。y254~y16+j是信息区域,y15~y0的16字节是校验位区域。
在以下的全部计算中,使这些1个字节的数据yk与伽罗瓦域(2^8)的元素对应起来进行计算。
以Z为变量,通过
Y(Z)=y254Z^254+y253Z^253+...+y16Z^16+...+y1Z^1+y0,来定义接收多项式Y(Z)。这是不省略压缩区域的、以数学上具有完全的码长255字节的码的各字节作为系数的多项式。
将校验子Sk定义为伴随多项式S(Z)的系数。
S(Z)=S15Z^15+S14Z^14+...+S1Z^1+S0
Sk=Y(α^k)0≤k≤15
在此,Z^15、α^k等为幂运算。
当压缩方式为中部压缩(即,数学上从码先头开始,按照信息字节区域、压缩字节区域、校验位区域的顺序来配置)时,Y(Z)=y254Z^254+y253Z^253+...+y(16+j)Z^(16+j)+y(16+j-1)Z^(16+j-1)+...+y16Z^16+y15Z^15+...+y1Z^1+y0
在此,从y254Z^254到y(16+j)Z^(16+j)为信息字节区域,从y(16+j-1)Z^(16+j-1)到y16Z^16为压缩字节区域,从y15Z^15到y0为FEC字节区域。另外,压缩字节区域的系数y(16+j-1)~y16是逻辑值“0”。
Sk={y254(α^k)^(254-j)+y253(α^k)^(253-j)+...+y(16+j)(α^k)^16}×(α^k)^j+y15(α^k)^15+...+y1(α^k)+y0。在此,从y254(α^k)^(254-j)到y(16+j)(α^k)^16为信息字节区域,从y15(α^k)^15到y0为FEC字节区域。
另外,当压缩方式为先头压缩(即,在数学上从码先头开始,按照压缩字节区域、信息字节区域、校验位区域的顺序配置)时,
Y(Z)=y254Z^254+y253Z^253+...
+y(255-j)Z^(16+j)+y(254-j)Z^(254-j)+...+y16Z^16+y15Z^15+...+y1Z^1+y0。在此,从y254Z^254到y(255-j)Z^(16+j)为压缩字节区域,从y(254-j)Z^(254-j)到y16Z^16为信息字节区域,从y15Z^15到y0为FEC字节区域。另外,压缩字节区域的系数y254~y(255-j)为逻辑值“0”。
Sk={y(254-j)(α^k)^(254-j)+y(253-j)(α^k)^(253-j)+...+y16(α^k)^16}×(α^k)^j+y15(α^k)^15+...+y1(α^k)+y0。在此,从y(254-j)(α^k)^(254-j)到y16(α^k)^16为信息字节区域,从y15(α^k)^15到y0为FEC字节区域。
校验子计算部510的Sk计算电路512-k计算该校验子Sk
本实施例的特征在于,针对压缩了的FEC帧,跳过压缩区域来进行计算。并且构成压缩补偿用表和乘法器、选择器,以便可以与任意压缩相对应。
Sk计算电路512-k在完成输入FEC帧的最后的数据时,确定校验子Sk并输出。当FEC帧长度为150字节时,在从FEC帧先头数起第150次时钟输入周期确定Sk
在图13中,多项式系数计算部520以校验子610、校验子判定结果611、时钟605、FEC帧顶识别信号601为输入,输出由各个8位并列的9个信号σk(k=0~8)和各个8位并列的8个信号ωk(k=0~7)构成的多项式系数620、以及多项式系数判定结果621。多项式系数计算部520由欧几里得互除计算部521和存储器523构成。欧几里得互除计算部521计算由8位并列信号σk(k=0~8)和ωk(k=0~7)构成的多项式系数620B、以及多项式系数判定结果621B,输出至存储器523。
当从校验子计算部510输入的校验子判定结果611显示为“无错误”时,使欧几里得互除计算部521停止动作直到下一FEC帧的计算时刻,持续显示“无错误”来作为多项式系数判定结果,直到下一FEC帧的计算时刻。另一方面,当校验子判定结果611显示为“存在错误”时,使欧几里得互除计算部521动作。
每当多项式系数计算完成时,存储器523保存多项式系数620B、多项式系数判定结果621B,并持续输出来作为多项式系数620、多项式系数判定结果621,直到针对下一FEC帧的多项式系数计算完成。此外,与多项式系数620的输出时刻同步地输出多项式系数判定结果621。
在校验子判定结果611显示为“存在错误”的条件下,当欧几里得互除计算中产生矛盾的结果时,在多项式系数判定结果621B中显示“不可纠错”。另一方面,若得到无矛盾的结果,则在多项式系数判定结果621B中显示“可纠错”。
欧几里得互除计算部521,根据校验子,使用本领域技术人员众所周知的欧几里得互除法来求得多项式系数。
多项式系数计算部520通过FEC帧顶识别信号601识别FEC帧的计算开始时刻。当校验子判定结果611显示为“存在错误”时,多项式系数计算部520取得校验子610并开始计算。此外,在计算FEC帧的多项式系数的过程中得到下一FEC帧的帧顶识别信号601时,在当前FEC帧的多项式计算完成后,立即开始下一FEC帧的多项式计算。
另外,与能接收的FEC帧的最小长度所对应的接收时间相比,欧几里得互除计算所需的处理时间较长时,可以使欧几里得互除计算部521为多个(2个、4个等),针对接收的每个FEC帧逐个切换,计算多项式系数。
从FEC帧先头数起,当第ki个字节中存在错误值eki时(1≤i≤8),由式4得到ELP(Error Locator Polynominal:错误位置多项式),由式5得到EEP(Error Evaluator Polynominal:错误评价多项式)。
【数学式4】
σ ( z ) = | | i ( 1 + α - ki z ) = Σ i = 0 8 σ i z i , σ 0 = α 0 式4
【数学式5】
ω ( z ) = Σ i { e k | | j ( j ≠ i ) ( 1 + α - ki z ) } = Σ i = 0 7 ω i z i 式5
欧几里得互除计算部521根据校验子S0~S15求得σ(z)的系数σi、ω(z)的系数ωi。
在图14中,错误搜索部530以多项式系数620、多项式系数判定结果621、帧顶识别信号601、FEC帧长度602以及时钟605作为输入,输出错误位置VLD信号630、错误值631以及错误搜索判定结果632。错误搜索部530由以下各部构成:错误位置计算部531、错误值计算部532、从错误位置计算部531输入ELP计算输出634并从错误值计算部532输入EEP计算输出635的错误搜索分析部533、保存错误分析部533的输出的存储器534、错误位置VLD(Valid)生成部536、以及参照地址计算部535。
错误搜索分析部533,根据用于计算错误位置的ELP计算输出634、以及输出用于计算错误值的多项式的系数的EEP计算输出635,实施错误搜索分析,将临时错误位置630B、临时错误值631B以及错误搜索判定结果632B发送至存储器534。参照地址计算部535将读出请求660发送至压缩补偿参数表560-2,将读出请求680发送至逆元素参数表580。来自压缩补偿参数表560-2的压缩补偿参数661被输入到错误位置计算部531和错误值计算部532。另一方面,来自逆元素参数表580的逆元素参数681被输入错误值计算部532。这些参数被用于错误位置计算部531、错误值计算部532中的进位运算(乘法运算“×(α^k)^(j+16)”、乘法运算“×(α^-j)”)以及σ(z)的一次微分的除法运算。
当多项式系数判定结果621显示为“无错误”时,错误位置计算部531、错误值计算部532停止动作,错误搜索分析部533在错误搜索判定结果632B中显示“无错误”。另一方面,当多项式系数判定结果621显示为“不可纠错”时,错误位置计算部531、错误值计算部532停止动作,错误搜索分析部533在错误搜索判定结果632B中显示“不可纠错”。而且,当多项式系数判定结果621显示为“可纠错”时,使错误位置计算部531、错误值计算部532动作。
错误位置计算部531取得多项式系数620的σk、压缩补偿参数661来作为初始参数,开始计算。同样地,错误值计算部532取得多项式系数620的ωk、压缩补偿参数661来作为初始参数,开始计算。错误位置计算部531、错误值计算部532,根据多项式系数620,使用钱氏搜索(chien search)方法等分别求得错误的存在位置及其错误值。
参照地址计算部535根据FEC帧长度602计算应该参照的表560-2以及580的地址,向表560-2、580发出读出请求660、680,将从表560-2、580读出的压缩补偿参数661、681输入错误位置计算531、错误值计算532。
错误搜索分析部533监视ELP计算输出634是否变为“0”,当变为“0”时,将该时刻所对应的临时错误位置630B和此时的EEP计算输出635的值作为临时错误值631B,输出至存储器534并存储。
若针对某FEC帧的错误位置计算531、错误值计算532完成,错误搜索分析533中未发生矛盾,则在错误搜索判定结果632B中显示“可纠错”。另外,将至此在存储器534中存储的临时错误位置630B和临时错误值631B直接作为错误位置630、错误值631而输出。而且,将错误搜索判定结果632B直接作为错误搜索判定结果632而输出。临时错误位置630B和临时错误值631B一一对应,写入相同的地址,以便在读出时易于取得对应。
若在错误搜索分析部533中发生了矛盾,则在错误搜索判定结果632B中显示“不可纠错”,清除至此在存储器534中存储的临时错误位置630B、临时错误值631B。而且,将错误搜索判定结果632B直接作为错误搜索判定结果632而输出。
在错误搜索计算完成前,存储器534保存一组到多组的临时错误位置630B、临时错误值631B。另外,存储器534每当错误搜索完成时保存错误搜索判定结果632B,在针对下一FEC帧的错误搜索计算完成前持续输出。
错误位置VLD生成部536对在存储器534中存储的相应的FEC帧内的全部错误位置630C进行临时保存,当与错误位置630C相当的FEC帧内的数据通过纠错部550被纠错并输出时,生成错误位置VLD信号630并输出。另外,错误位置VLD生成部536,当生成错误位置VLD信号630时,将读出请求发送至存储器534。存储器534根据读出请求,输出错误值631。
即,错误位置VLD生成部536控制错误位置VLD信号630和错误值631,以便在通过纠错部550被纠错的每1字节的定时进行输出。
此外,某错误位置630C中的错误值631是1字节,即8位并列。
错误位置计算部531、错误值计算部532,通过FEC帧顶识别信号601识别FEC帧的计算请求。若多项式系数判定结果621表示在FEC帧中存在错误,则错误位置计算部531、错误值计算部532取得多项式系数620,开始计算。另外,与能接收的FEC帧的最小长度所对应的接收时间相比,当钱氏搜索计算所需要的处理时间较长时,可以使错误位置计算部531以及错误值计算部532为多个(2个、4个等),针对接收的每个FEC帧逐个切换,来计算错误值。
从FEC帧先头开始数,当第k字节中存在错误值ek(1≤i≤8)时,成为式6。
【数学式6】
σ ( α k ) = 0 e k = ( α - k ) × { ω ( α k ) } ÷ { σ ′ ( α k ) } 式6
在此,σ’(z)是σ(z)的一次微分,由式7得到。
【数学式7】
σ ′ ( z ) = Σ i = 0 3 σ 2 i + 1 z 2 i } 式7
错误位置计算部531从FEC帧先头开始顺次计算σ(α^k)。错误值计算部532从FEC帧先头开始顺次计算ek
在图15中,纠错部550以FEC帧顶识别信号601、FEC帧长度602、解码执行指示信号603、错误搜索判定结果632、错误位置VLD信号639、错误值631、FEC解码器500的数据存储器540的读出数据640为输入,输出8位并列的输出数据604。纠错部550由以下各部构成:以FEC帧顶识别信号601、FEC帧长度602、解码执行指示信号603、错误搜索判定结果632、错误位置VLD信号639作为输入,控制选择器552的选择器控制部551;以错误值631和纠错部500的内部生成的8位并列的全零信号作为输入的选择器552;将选择器552的输出与数据存储器540的读出数据640相加的加法部553。
在解码执行指示信号603指示了“解码执行”、错误搜索判定结果632显示“不可纠错”、且错误位置VLD信号630表示是错误位置的时刻,纠错部550的选择器控制部551在选择器552中选择错误值631侧。除上述情况以外,选择器控制部551始终选择全“0”侧。
此外,加法部553进行每位的异或运算。
在图16中,压缩补偿参数表560由地址和内容构成,地址以10进制数表示。作为与地址n相对应的内容,以2进制的8位来设定伽罗瓦域(2^8)的元素“α^n”。在使解码器开始动作前,预先在FEC解码器500内计算而设定压缩补偿参数表560。或者,也可以从FEC解码器500的外部设定压缩补偿参数表560。
在图17中,逆元素参数表580由地址和内容构成,地址以10进制数表示。作为与地址n对应的内容,以2进制的8位来设定伽罗瓦域(2^8)的元素garoi“n”的逆元素(garoi“n”)^-1。在作为解码器开始动作前,预先在FEC解码器500内计算来设定逆元素参数表580。或者,也可以从FEC解码器500的外部设定逆元素参数表580。此外,逆元素参数表580的地址可以是don’t care,也可以是0。
在图18中,(a)是FEC解码器500的输入数据,即向数据存储器540写入的定时。(b)是帧顶识别信号601的定时。(c)是FEC帧长度信号的定时。(d)是校验子计算部510的压缩补偿参数661的输入定时。(f)是校验子计算部510的校验子610和判定结果611的输出定时。(g)是多项式系数计算部520的多项式系数计算的定时。(h)是多项式系数计算部520的多项式系数620和判定结果621的输出定时。(i)是错误搜索部530的参数输入定时。(j)是错误搜索部530的错误搜索计算的定时。(k)是错误搜索部530的错误位置VLD信号630、错误值631、错误搜索判定结果632的输出定时。(1)是纠错部550的输出、即FEC解码器500的输出数据604的输出定时。
令FEC解码器500能接收的FEC帧的最大长度为AA字节,令多项式系数计算520中发生的固定延迟时间或最大延迟时间为BB时钟周期,令DD为FEC解码器500内的数据转移、FEC解码器500与其外部的数据转移等FEC解码计算以外的因素而产生的延迟,则以Tdelay-DEC作为固定值,且作为CC以上的时钟周期,构成解码器。
在此,
CC=AA×2+BB+DD
1个时钟周期是接收FEC帧内的1个字节的时间。数据存储器540仅使数据延迟Tdelay-DEC长的时间来进行输出。数据存储器540的容量,是可以对Tdelay-DEC的时间内能接收的总的数据进行缓冲的容量,在Tdelay-DEC后逐一读出所存储的数据。
另外,纠错部550、错误搜索部530,当根据Tdelay-DEC的延迟时间进行纠错并输出时,输出用于进行纠错的各信息,以便进行纠错。具体而言,当AA=255、BB+DD=15时,Tdelay-DEC最低也是525时钟周期以上的固定值。
当Tdelay-DEC为525时钟周期的固定值,FEC帧的接收比特率为1Mbps时,Tdelay-DEC相当于接收525×8比特大小的时间,等于4.2毫秒。
通过如此构成,即使连续接收AA字节以下的任意长度、且该长度动态增减的FEC帧,也可以切实地进行纠错。假如不这样构成,则当接收到的FEC帧的长度动态地增加时,校验子计算510、错误搜索530的计算来不及,无法对长度为AA的FEC帧进行纠错。这是由于,校验子计算510、错误搜索530的计算需要与FEC帧长度相对应的时钟周期。
在图19中,Sk计算电路512-k以时钟605、来自延迟存储器511的8位并列输入数据、来自压缩补偿参数表的(α^k)^j作为输入,输出校验子610B。Sk计算电路512-k由以下各部构成:参数可变乘法器512-k-1、选择器512-k-2、加法器512-k-3、触发器(flip-flop)512-k-4、固定乘法器512-k-5、存储器512-k-6。
参数可变乘法器512-k-1以来自延迟存储器511的8位并列输入数据、来自压缩补偿参数表的参数(α^k)^j作为输入,向选择器512-k-2输出乘法结果。选择器512-k-2以来自参数可变乘法器512-k-1的乘法运算结果、来自延迟存储器511的8位并列输入数据作为输入,向加法器512-k-3输出所选择的输出。加法器512-k-3以选择器512-k-2和固定乘法器512-k-5为输入,输出至触发器512-k-4。触发器512-k-4将输入数据保存一个时钟,然后输出到存储器512-k-6和固定乘法器512-k-5。
参照图20,对σ(α^k)中的σm(α^k)^m的计算进行说明。
图20中,对块进行连接的线是8位并列线。错误搜索部530的错误位置计算部531的基本单元537由参数载入型乘法器5371、选择器5372、触发器(FF)5373以及固定乘法器5374构成。错误位置计算部531主要由8个基本单元537构成,m是其下标。另外,j是省略多少字节的压缩度。
参数载入型乘法器5371载入压缩参数(α^j)^m。触发器(FF)5373将多项式的系数σm作为初始值而载入。触发器(FF)5373,当输入时钟时,将前一值输出至乘法器5371、选择器5372、固定乘法器5374。乘法器5371根据所载入的参数进行乘法运算,输出至选择器5372。固定乘法器5374将乘法运算结果输出至触发器5373。
通过码压缩,需要省略实际上不收发的压缩字节区域的校验子计算。因此,当压缩方式为中部压缩方式时,在信息字节区域的输入定时,选择器5372输出直通侧(FF5373)的信号。另一方面,在校验位区域的输入定时,选择器5372输出乘法器5371侧的信号。
另外,当压缩方式为先头压缩方式时,选择器5372在信息字节区域的输入定时输出乘法器5371侧的信号。另一方面,在校验位区域的输入定时,选择器5372输出直通侧的信号。
错误位置计算部531的输出是8个σm(α^k)^m与σ0的逐位的异或运算结果。
在图21中,错误搜索部530的错误值计算部532的基本单元538由参数载入型乘法器5381、选择器5382、触发器(FF)5383、固定乘法器5384构成。
参数载入型乘法器5381载入压缩参数(α^j)^m。触发器(FF)5383将ωm作为初始值而载入。
在图21中第k次时钟输入周期,输出ω(α^k)的m次的系数ωm(α^k)^m。通过码压缩来切换选择器的定时等,与图20相同。
在图22中,错误搜索部530的错误值计算部532的基本单元537B由参数载入型乘法器5371B、选择器5372B、触发器(FF)5373B、固定乘法器5374B构成。
参数载入型乘法器5371B载入压缩参数(α^j)^m。触发器(FF)5373B将σm+1作为初始值而载入。
在图22中第k次时钟输入周期,输出σ′(α^k)的“α^k”的m次的系数σm+1(α^k)^m。通过码压缩来切换选择器的定时等与图20相同。
图23中,错误搜索部530的错误值计算部532的基本单元539由参数载入型乘法器5391、选择器5392、触发器(FF)5393、固定乘法器5394构成。
参数载入型乘法器5391载入逆元素参数(α^-j)。触发器(FF)5383将α^0作为初始值而载入。
基于σ′(α^k)的除法首先求得σ′(α^k),接着求得σ′(α^k)的逆元素σ′(α^-k),可以执行基于该逆元素的乘法运算。逆元素可以从图17的逆元素参数表580读出。
α^-k的计算,在图23中第k次时钟输入周期被输出。通过码压缩来切换选择器的定时等与图20相同。
参数载入型乘法器5391的初始值α^-j,根据伽罗瓦域的性质,等于α^(255-j),因此可以读出压缩补偿参数表560的第(255-j)地址。当j为0,即未压缩时,可以读出表560的第255地址,或者不从表560读出,而与信息字节区域、校验位区域无关地通过选择器选择直通侧。
参照图24至图38,说明16位并列输入数据用的FEC解码器。在此,图24是FEC解码器的框图。图25是校验子计算部的框图。图26是多项式系数计算部的框图。图27是错误搜索部的框图。图28是纠错部的框图。图29是Sk计算电路的框图。图30是错误搜索部的框图。图31是说明错误位置计算部的框图(其A1)。图32是说明错误值计算部的框图(其A1)。图33是说明错误值计算部的框图(其A2)。图34是说明错误值计算部的框图(其A3)。图35是说明错误位置计算部的框图(其B1)。图36是说明错误值计算部的框图(其B1)。图37是说明错误值计算部的框图(其B2)。图38是说明错误值计算部的框图(其B3)。
此外,在以下的说明中,在8位并列输入用FEC解码器的说明中,不重复足够的说明。另外,上位侧字节、上位侧8位,是16位并列数据中接收FEC帧中接收顺序在前的8位数据。相反地,下位侧字节、下位侧8位是16位并列数据中接收FEC帧中接收顺序在后的8位数据。
在图24中,FEC解码器700输入16位并列数据800、解码执行信号803、FEC帧顶信号801、FEC帧长度802以及FEC帧位置开始位置信息806,输出纠错后的16位并列信号804。FEC解码器700由校验子计算部710、多项式系数计算部720、错误搜索部730、数据存储器740、纠错部750、压缩补偿参数表760以及逆元素参数表780构成。
时钟805、FEC帧识别信号801、FEC帧长度802、FEC帧开始位置信息806被分配至FEC解码器700的各部。FEC帧顶识别信号801表示16位并列的数据流上的FEC帧的开始时刻。FEC帧长度802表示被压缩时的压缩后的FEC帧的长度。FEC帧长度802也可以是压缩而省略的字节数。FEC帧开始位置信息806表示,在FEC帧顶识别信号801所表示的FEC帧的开始时刻,从16位并列的上位侧8位、下位侧8位中的哪一个开始FEC帧。FEC帧开始位置信息806可以是表示FEC帧结束位置的信息。
校验子计算部710、错误搜索部730,为了决定想要计算的FEC帧所对应的参数,计算FEC帧长度802所对应的参数表760、780的地址,从压缩补偿参数表760、逆元素参数表780读出该地址的内容,决定用于进行与压缩等价的计算的参数。多项式系数计算部720进行与其性质、压缩程度无关的计算。
在图25中,校验子计算部710由以下各部构成:接收16位并列数据800的延迟存储器711、与延迟存储器711相连的16个Sk计算电路712-k(k=0~15)、与Sk计算电路712-k相连的存储器716和校验子判定部717、接收FEC帧长度802,计算压缩参数表的参照地址的参照地址计算部718、向Sk计算电路712-k提供钩定时信息812和钩补偿信息813的校验子控制部(S控制部)713。
参照地址计算部718根据FEC帧长度802计算应该参照的压缩补偿表760的地址。参照地址计算部718向压缩补偿表760发出附加了读出地址的读出请求860。参照地址计算部718将从压缩补偿表760读出的压缩补偿参数861输入Sk计算电路712-k。该压缩补偿参数用于在Sk计算电路712-k中进行乘法计算(“×(α^k)^j”)。
当压缩方式为中部压缩时,Sk计算电路712-k,当来自延迟存储器711的输入数据是信息区域时,以该参数进行乘法计算,当是FEC校验位区域时,不进行乘法计算。Sk计算电路512-k在完成输入FEC帧的最后的数据时确定校验子Sk并输出。例如,当FEC帧长度是150字节时,从FEC帧的先头数起,在第75次或第76次时钟输入周期确定Sk。当FEC帧先头是上位侧字节位置时是第75次,当FEC帧先头是下位侧字节位置时是第76次。
此外,当压缩方式是先头压缩时,在Sk计算电路712-k中不需要压缩补偿计算,不需要乘法计算(“×(α^k)^j”)。
FEC帧的校验位区域的开始时刻,可以根据FEC帧长度801、FEC帧顶识别信号802来计算识别,但是作为其他手段,可以从FEC解码器的外部取得校验位区域的开始信号。直到校验位区域的最后,在输入来计算的时刻确定该FEC帧的校验子。
存储器716在确定校验子后将其保存,在下一FEC帧的校验子确定之前持续输出。
校验子判定部717判定所得到的校验子810B(S15~S0)是否全部为“0”,作为校验子判定结果811而输出。当S15~S0全部为“0”时,判定为相应的FEC帧中不存在错误,在校验子判定结果811中表示“无错误”。当S15~S0中至少一个不为“0”时,判定为相应的FEC帧中存在错误,在校验子判定结果811中显示“存在错误”。校验子判定结果811,与校验子615的输出定时同步地持续输出,直到确定下一FEC帧的校验子。
后级的多项式系数计算720根据该校验子判定结果811来动作。
S控制部713生成表示FEC帧的最后的字节以上位侧8位结束,还是以下位侧8位结束的钩补偿信息813,在开始相应FEC帧的校验子计算之前,分配至16个Sk计算电路712-k。另外,S控制部713,当前一个FEC帧最后的字节和相应的FEC帧先头字节共存的钩的定时,生成表示输入数据800是钩的钩定时信息812,并分配至Sk计算电路712-k。此外,可以根据之前的FEC帧所对应的钩补偿信息813和相应的FEC帧长度802来计算钩补偿信息813。可以根据帧顶识别信号801、FEC帧开始位置信息806来计算钩定时信息812。另外,也可以根据之前的FEC帧所对应的钩补偿信息813、相应的FEC帧的帧顶识别信息801来计算钩定时信息812。
在图26中,多项式系数计算部720以校验子810、校验子判定结果811、时钟805、FEC帧顶识别信息801为输入,输出由分别8位并列的9个信号σk(k=0~8)和分别8位并列的8个ωk(k=0~7)形成的多项式系数820和多项式系数判定结果821。多项式系数计算部720由欧几里得互除计算部721和存储器723构成。欧几里得互除计算部721计算8位并列信号σk(k=0~8)和ωk(k=0~7)形成的多项式系数820B以及多项式系数判定结果821B,输出至存储器723。
存储器723,每当多项式系数计算完成时,保存多项式系数820B、多项式系数判定结果821B,在针对下一FEC帧的多项式系数计算完成之前,作为多项式系数820、多项式系数判定结果821而持续输出。此外,多项式系数判定结果821与多项式系数820的输出定时同步地被输出。
将多项式系数计算720中产生的固定延迟时间、或者最大延迟时间定义为BB时钟周期,将1个时钟周期定义为接收FEC帧内的1字节的时间。通过16位并列,若不改变时钟周期,则能接收的FEC帧长度的最小值所对应的时钟周期减半(其变为EE)。另一方面,多项式系数计算中需要BB的时钟周期数,当EE比BB小时,多项式系数计算来不及。
因此,当EE比BB小时,可以具备多个多项式计算520,针对每个FEC帧切换来使用,或者可以加快时钟周期。当BB为60、EE为9时,可以具备7个多项式系数计算720,或者将输入多项式系数计算的时钟周期变为原时钟周期的7分之一以下,即把时钟频率变为7倍以上。
在图27中,错误搜索部730以多项式系数820、多项式系数判定结果821、帧顶识别信号801、FEC帧长度802、时钟805、FEC帧开始位置信息806为输入,输出错误位置VLD信号830、错误值831和错误搜索判定结果832。在此,错误位置VLD信号830和错误搜索判定结果832分别由8位并列的上位侧用数据和下位侧用数据构成。错误值831是16位并列数据。
错误搜索部730由以下各部构成:错误位置计算部731、错误值计算部732、从错误位置计算部731输入ELP计算输出834,并从错误值计算部732输入EEP计算输出835的错误搜索分析部733、保存错误分析部733的输出的存储器734、错误位置VLD生成部736、以及参照地址计算部735。
错误搜索部730的第一种方法的结构基本上是和8位的错误搜索部530相同的结构。但是,使时钟周期成为两倍以上来动作。其中,以16位输出错误值831,以相对于上位侧8位与下位侧8位独立的两个系统来输出错误位置VLD信号830,也以相对于上位侧8位与下位侧8位独立的两个系统来输出错误搜索判定结果832。
当接收到的多项式系数判定结果821显示为“无错误”时,错误位置计算部731以及错误值计算部732停止动作,错误搜索分析部733在错误搜索判定结果832B中显示“无错误”。另一方面,当多项式系数判定结果821显示为“不可纠错”时,错误位置计算部731以及错误值计算部732停止动作,错误搜索分析部733在错误搜索判定结果832B中显示“不可纠错”。
当多项式系数判定结果821显示为“不可纠错”时,错误搜索部730使错误位置计算部731、错误值计算部732动作。错误位置计算731取得多项式系数820的σk、压缩补偿参数861来作为初始参数,开始计算。
错误值计算732取得多项式系数820的ωk、压缩补偿参数861作为初始参数,开始计算。
错误位置计算部731以及错误值计算部732,根据多项式系数820,使用钱氏搜索方法等,求得错误的存在位置和其错误值。
参照地址计算部735,根据FEC帧长度802,计算应该参照的表760-2以及780的地址。参照地址计算部735发送在表760-2、780中附加了读出地址的读出请求860、880。错误搜索部730将读出的压缩补偿参数861输入到错误位置计算部731、错误值计算部732。错误搜索部730将读出的逆元素参数881输入错误位置计算部731。这些参数用于错误位置计算部731、错误值计算部732中的进位计算(乘法运算“×(α^j)^m”、乘法运算“×(α^-j)”)以及σ(z)的一次微分的除法运算。
错误搜索分析部733监视ELP计算输出834是否变为“0”,当变为“0”时,将该时刻所对应的临时错误位置830B输出到存储器734中,将此时的EEP计算输出835的值作为临时错误值831B输出到存储器734中。存储器734存储临时错误位置830B和临时错误值831B。
若针对某个FEC帧的错误位置计算和错误值计算完成,错误搜索分析733中未发生矛盾,则错误搜索部730在错误搜索判定结果832B中显示“可纠错”。错误搜索部730将至此在存储器734中存储的临时错误位置830B和临时错误值831B,直接作为错误位置830和错误值831进行输出。另外,错误搜索部730将错误搜索判定结果832B直接作为错误搜索判定结果832进行输出。临时错误位置830B、临时错误值831B一一对应,写入相同地址的区域,以便在读出时易于取得对应。
当错误搜索分析部733中发生矛盾时,错误搜索部730在错误搜索判定结果832B中显示“不可纠错”。错误搜索部730清除至此存储在存储器734中的临时错误位置830B和临时错误值831B。错误搜索部730直接将错误搜索判定结果832B作为错误搜索判定结果832而输出。
在此所谓矛盾,是指多项式系数820所暗示的错误个数与临时错误位置830B的总数不一致的情况。前者等于错误位置多项式的次数,后者是对错误位置多项式σ(z)进行搜索而为零的次数。另外,在导出临时错误值831B的过程中,分母(σ’(z))变为零的情况也相当于矛盾。
直到错误搜索计算完成之前,存储器734保存一组到多组的临时错误位置830B和临时错误值831B。另外,每当错误搜索计算完成,存储器734保存错误搜索判定结果832B,在针对下一FEC帧的错误搜索计算完成之前持续输出。
错误位置VLD生成部736对存储器734中存储的相应FEC帧内的全部错误位置830C进行暂时保存,当与错误位置830C相当的FEC帧内的数据通过纠错部750被纠错输出时,生成并输出错误位置VLD信号830。另外,当生成错误位置VLD信号830时,从存储器734读出对应的错误值,作为错误值831而输出。
错误位置VLD生成736,在通过纠错部750而被纠错的每两个字节的定时,输出错误位置VLD信号830和错误值831。错误位置VLD信号830,对于上位侧8位、下位侧8位,分别独立地显示错误值。错误搜索判定结果832,对于上位侧8位、下位侧8位,分别独立地显示判定结果。此外,关于错误位置VLD信号830和错误搜索判定结果832的各个,在以不发生钩为前提的情况下,上位侧用信号和下位侧用信号是相同的。
错误位置VLD信号830、错误值831、错误搜索判定结果832各自的上位侧8位彼此互相对应,下位侧8位也彼此互相对应。
错误位置计算部731以及错误值计算部732,通过FEC帧顶识别信号801识别FEC帧的计算请求。另外,与能接收的FEC帧的最小长度所对应的接收时间相比,钱氏搜索计算所需的处理时间较长的情况下,可以使错误位置计算部731以及错误值计算部733为多个(2个、4个等),针对每个接收的FEC帧,逐个切换来计算错误位置、错误值。
在图28中,纠错部750以FEC帧开始位置信息806、FEC帧顶信号801、FEC帧长度802、解码执行指示信号803、错误搜索判定结果832、错误位置VLD信号839、错误值831、FEC解码器700的数据存储器740的读出数据840作为输入,以16位并列的输出数据804作为输出。纠错部750由以下各部构成:以FEC帧顶信号801、FEC帧长度802、解码执行指示信号803、错误搜索判定结果832以及错误位置VLD信号839为输入,控制上位侧选择器752和下位侧选择器753的选择器控制部751;以错误值831的上位侧8位与纠错部700的内部生成的8位并列的全零信号为输入的上位侧选择器752;将上位侧选择器752的输出与数据存储器740的读出数据840的上位侧8位相加的上位侧加法部754;以错误值831的下位侧8位与纠错部700的内部生成的8位并列的全零信号为输入的下位侧选择器753;将下位侧选择器753的输出与数据存储器740的读出数据840的下位侧8位相加的下位侧加法部755。
在解码执行指示信号803指示“执行解码”,错误搜索判定结果832显示“可纠错”,并且错误位置VLD信号830表示是错误位置的时刻,上位侧选择器752以及下位侧选择器753选择错误值831侧。在上述以外的情况下,上位侧选择器752以及下位侧753始终选择全“零”侧。另外,上位侧选择器752以及下位侧753互相独立地控制。
加法部754、755进行每位的异或运算。错误搜索判定结果832,对于上位侧8位,下位侧8位,分别独立地显示判定结果。错误位置VLD信号830也对上位侧8位,下位侧8位分别独立地显示VLD。
在上述16位解码器的实施例中,压缩补偿参数表760与8位解码器的压缩补偿参数表560相同,省略图示及说明。同样地,逆元素参数表780与8位解码器的逆元素参数表580相同,省略图示及说明。
而且,16位解码器的动作定时除了参考号码以外与图18相同,省略图示以及附图的说明。
然而,FEC解码器700的吞吐量是FEC解码器500的2倍,因此延迟时间Tdelay-DEC约为1/2。
在图29中,Sk计算电路712-k以时钟805、来自延迟存储器711的16位并列输入数据、来自压缩补偿参数表的(α^k)^j、钩定时信息812、钩补偿信息813作为输入,以8位并列的校验子810B作为输出。Sk计算电路712-k由参数可变乘法器712-k-1、选择器712-k-2、8、10、14、加法器712-k-3、12、触发器712-k-4、11、固定乘法器712-k-5、7、9、10、13、存储器712-k-6构成。
来自延迟存储器711的输入数据的上位侧8位,经过固定乘法器712-k-7的乘法运算(×α^k)被输入加法器712-k-12。
来自延迟存储器711的输入数据的下位侧8位,经过固定乘法器712-k-9的乘法运算(×α^(2k))被输入选择器712-k-10的一个输入端。在选择器712-k-10的另一输入端输入全零,选择器712-k-10将两输入之一输入触发器712-k-11。触发器712-k-11被输入时钟,在下一时钟,将输入的数据输入加法器712-k-12。
来自延迟存储器711的输入数据的下位侧8位还被输入选择器712-k-8。在选择器712-k-8的另一输入端输入全零,选择器712-k-8将两输入之一输入加法器712-k-12。
加法器712-k-12将3个输入的异或运算结果输入参数可变乘法器712-k-1和选择器712-k-2。
参数可变乘法器712-k-1,在事先载入来自压缩补偿参数表的参数(α^k)^j来设置运算参数后,输入来自加法器712-k-12的8位并列输入数据,将乘法运算结果输出至选择器712-k-2。选择器712-k-2以来自参数可变乘法器712-k-1的乘法运算结果、和来自加法器712-k-12的8位并列输入数据作为输入,将所选择的输出输出至加法器712-k-3。加法器712-k-3以选择器712-k-2和固定乘法器712-k-5的输出作为输入,输出至触发器712-k-4。触发器712-k-4被输入时钟,在将输入数据保存1个时钟后,输出至选择器712-k-14和固定乘法器712-k-5、13。
选择器712-k-14以触发器712-k-4的输出和固定乘法器712-k-13的输出作为输入,选择一方输出到存储器712-k-6。
在图29中,输入数据为16位并列,但电路内的各个信号线全部为8位并列,即以8条而构成。
选择器712-k-8,在钩的定时(当钩定时信息812表示钩的定时时),选择全零输入侧来输出。另一方面,在钩以外的定时,选择器712-k-8选择数据输入侧来输出。针对自延迟存储器711的输入数据的每16位,实施选择器712-k-8的切换和恢复。
选择器712-k-10在钩的定时选择乘法器7120-k-9侧来输出。另一方面,在钩以外的定时,选择器712-k-10选择全零输入侧来输出。针对来自延迟存储器711的输入数据每16位,实施选择器712-k-10的切换和恢复。
当钩补偿信息813表示要计算的FEC帧以上位侧8位结束时,选择器712-k-14选择乘法器712-k-13侧来输出。另一方面,以下位侧8位结束的FEC帧的计算中,选择器712-k-14选择直通侧来输出。针对每个FEC帧,在计算开始前实施选择器712-k-14的切换。在钩时,在下一定时(FEC码的第二、第三字节的定时)之前实施选择器712-k-14的切换。
固定乘法器“×α^(2k)”712-k-5,进行伽罗瓦域的元素α^(2k)与触发器712-k-4的输出的乘法运算。固定乘法器“×α^k”712-k-7,进行伽罗瓦域的元素α^k与输入数据的上位侧8位的乘法运算。乘法器“×α^(2k)”712-k-9进行伽罗瓦域的元素α^(2k)与输入数据的下位侧8位的乘法运算。乘法器“×α^(-k)”712-k-13进行伽罗瓦域的元素α^(-k)与触发器712-k-4的输出的乘法运算。
触发器712-k-11在时钟周期(时钟的上升或下降沿)的定时保存输入,输出至加法器712-k-12。
加法器712-k-12将3个输入相加并输出。加法运算进行各位的异或运算。
所谓输入选择器812-k-10、14的全零,是逻辑值零的信号。在以选择器选择了该全零时,在加法运算上等价于加法器712-k-12没有输入。
使用图30,对使用图27说明的错误搜索部的其他结构进行说明。在此,图30用于说明错误搜索的第二种方法。
在图30中,错误搜索部730B以多项式系数820、多项式系数判定结果821、帧顶识别信号801、FEC帧长度802、时钟805、FEC帧开始位置信息806作输入,以错误位置VLD信号830、错误值831、错误搜索判定结果832作为输出。在此,错误位置VLD信号830和错误搜索判定结果832,分别由8位并列的上位侧用数据和下位侧用数据构成。错误值831是16位并列数据。
错误搜索部730B由以下各部构成:错误位置计算部531-1、2;错误值计算部532-1、2;从错误位置计算部531输入ELP计算输出534,并从错误值计算部532输入EEP计算输出535的错误搜索分析部533-1、2;保存错误分析部533的输出的存储器734B;错误位置VLD(Valid)生成部736B;以及参照地址计算部735。
图30是错误搜索部730B,其具备两套使用图14说明的8位用的错误位置计算部531、错误值计算部532以及错误搜索分析部533。此外,时钟同步可以和8位用的错误位置计算部531相同。错误搜索部730B针对每个FEC帧决定使用哪个来进行计算。使用哪个是指,使用结束了计算的一方或交替使用。错误搜索部730B将FEC帧的参数861、881输入所选择的错误位置计算531、错误值计算532。
在错误搜索计算完成前,存储器734B保存一组到多组的临时错误位置630B-1与临时错误值631B-1、临时错误位置630B-2与临时错误值631B-2。另外,每当错误搜索计算完成,存储器734对完成的一方的错误搜索判定结果632B-1~2进行保存。
错误位置VLD生成部736B,对在存储器734B中存储的相应的FEC帧内的全部错误位置830C进行暂时保存,与通过纠错部750将与错误位置830C相当的FEC帧内的数据进行纠错并输出的定时一致地,独立地生成并输出上位侧8位用与下位侧8位用的错误位置VLD信号830。
错误位置VLD生成部736B,当生成错误位置VLD信号830时,从存储器734读出对应的错误值831C,作为错误值831进行输出。即,错误位置VLD生成部736B,在通过纠错部750进行纠错的每两个字节的定时,输出错误位置VLD信号830与错误值831。
另外,错误位置VLD生成部736B,在对纠错部750中的FEC帧进行纠错的期间,从存储器734B读出针对该FEC帧的错误搜索判定结果,作为错误搜索判定结果832而持续输出。从而,错误搜索判定结果832,在FEC帧环境中发生钩的定时以外,在上位侧与下位侧中使用相同值。仅在钩的发生定时取不同值。此外,在以不发生钩为前提的情况下,错误搜索判定结果832不需要区分为上位侧用与下位侧用,可以相同。
参照图31至图34,对一个时钟周期中处理两字节大小的数据位置(方法3)进行说明。
在图31中,错误位置计算部731的基本单元737由以下各部构成:作为初始值而载入(α^j)^m的参数载入型乘法器7371、作为初始值而载入σm的触发器7373、固定乘法器7374、7375、以及2输入1输出的选择器7372。固定乘法器7374的乘法运算值是×α^2m,固定乘法器7375的乘法运算值是×α^-m。触发器7373在下一时钟取入输入值,输出至参数载入型乘法器7371与选择器7372的一方的输入端,以及固定乘法器7374。固定乘法器7374将固定乘法运算的结果输出至触发器7373。
参数载入型乘法器7371根据所载入的参数进行乘法运算,输出至选择器7372的另一输入端。选择器7372选择两输入之一作为基本单元737的下位侧8位进行输出。选择器7372的输出也被输入至固定乘法器7375,固定乘法器7375将乘法运算结果作为基本单元737的上位侧8位进行输出。
错误位置计算部731具备8个(m=1~8)基本单元737。σ(α^k)的计算可以执行这些输出与σ0的总和。即,上位字节的σ(α^k)计算可以执行m=1~8这8个上位侧8位与σ0的总和。同样地,下位字节的σ(α^k)的计算,可以执行m=1~8这8个下位侧8位与σ0的总和。
此外,ek的计算中的ω(α^k)、σ’(α^k)也以同样的方法进行计算。
在图32中,错误值计算部732的基本单元738由以下各部构成:作为初始值而载入(α^j)^m的参数载入型乘法器7381、作为初始值而载入ωm的触发器7383、固定乘法器7384、7385、以及2输入1输出的选择器7382。固定乘法器7384的乘法运算值为×α^2m,固定乘法器7385的乘法运算值为×α^-m。此外,基本单元738的动作与图31相同,因此省略。
ω(α^k)的计算,可以具备m=1~7的7个图32的电路,执行它们的输出与ω0的总和。在此,与σ(α^k)同样地,上位字节、下位字节独立计算。
在图33中,错误值计算部732的基本单元737B由以下各部构成:作为初始值而载入(α^j)^m的参数载入型乘法器7371B、作为初始值而载入σm+1的触发器7373B、固定乘法器7374B、7375B、以及2输入1输出的选择器7372B。固定乘法器7374B的乘法运算值为×α^2m,固定乘法器7375B的乘法运算值为×α^-m。此外,基本单元738B的动作与图31相同,因此省略。
σ′(α^k)的计算,具备m=1~3的3套图33的电路,可以执行它们的输出与σ1的总和。与σ(α^k)同样地,上位字节、下位字节独立地进行计算。
图31~图33的基本单元737、738、737B,在第一次时钟输入后,上位字节侧输出与FEC帧的先头第一字节对应的计算结果,下位字节侧输出与FEC帧的第二字节对应的计算结果。在第二次时钟输入后,上位字节侧输出与FEC帧的第三字节对应的计算结果,下位字节侧输出与FEC帧的第四字节对应的计算结果。以后相同。
在图34中,错误值计算部732的基本单元739由以下各部构成:作为初始值而载入α^-j的参数载入型乘法器7391、作为初始值而载入α^0的触发器7393、固定乘法器7394、7395、2输入1输出的选择器7392。固定乘法器7394的乘法运算值是×α^-2、固定乘法器7395的乘法运算值是×α^1。此外,基本单元739的动作与图31相同,因此省略。
α^-k,在图34中,上位字节、下位字节独立地计算。在没有压缩的情况下,在第一次时钟输入后立即在上位字节侧输出α-1,在下位字节侧输出α-2。在第二次时钟输入后立即在上位字节侧输出α-3,在下位字节侧输出α-4。以后相同。
图31~图34的各基本单元的各线为8位并列线。选择器737-2等的控制与图20等相同。
但是,在压缩方式为中部压缩的情况下,需要在信息区域和校验位区域中切换选择器737-2等。而且,由于错误搜索730是16位处理,因此其吞吐量的界限顶多与FEC解码器700所接收的数据的吞吐量相同。因此,会发生与FEC帧边界的钩相当的钩的判定定时(上位字节判定某FEC帧的最后的字节,另一方面,下位字节必须判定下一FEC帧的先头字节的定时)。为了解决此问题,采用时钟周期稍快的时钟。例如,能够以原时钟周期的10分之8以下的周期的时钟(原频率的8分之10以上的频率的时钟)来动作。
σ′(α^k)的除法运算,也在上位字节侧与下位字节侧独立地执行,因此可以准备两个图17的逆元素参数表580,分别用于上位字节侧、下位字节侧。
参照图35~图38说明作为第四方法、在一次时钟周期中处理3字节大小的数据位置的实施例。通过如此,对在一次时钟周期中进行两字节大小的数据处理的方法会产生的钩现象进行补偿,可以避免时钟的高频化。即,通过使错误搜索730具有比FEC解码器700接收的数据的吞吐量更高的吞吐量,易于处理钩现象。其中,仅在错误搜索730中,作为在一次时钟周期中处理的3字节,定义了上位侧字节、中位侧字节、下位侧字节。FEC帧所对应的位置为从先头侧开始,上位侧字节、中位侧字节、下位侧字节的顺序。
图35中,错误位置计算部731的基本单元737由以下各部构成:作为初始值而载入(α^j)^m的参数载入型乘法器7371、作为初始值而载入σm的触发器7373、固定乘法器7374、7375、7376以及2输入1输出的选择器7372。固定乘法器7374的乘法运算值是×α^3m,固定乘法器7375的乘法运算值是×α^-m,固定乘法器7376是×α^-2m。触发器7373在下一时钟取得输入值,输出至参数载入型乘法器7371和选择器7372的一方的输入端、以及固定乘法器7374。固定乘法器7374将固定乘法运算的结果输出至触发器7373。
参数载入型乘法器7371根据所载入的参数进行乘法运算,输出至选择器7372的另一输入端。选择器7372选择两输入之一,作为基本单元737的下位侧8位而输出。选择器7372的输出也被输入固定乘法器7375,固定乘法器7375将乘法运算结果作为基本单元737的中位侧8位而输出。选择器7372的输出也被输入固定乘法器7376,固定乘法器7376将乘法运算结果作为基本单元737的上位侧8位而输出。
σ(α^k)的计算,具备m=1~8的8个图35的基本单元737,可以执行它们的输出与σ0的总和。即,上位字节的σ(α^k)的计算,可以执行m为1~8这8个上位侧8位输出与σ0的总和。同样地,中位字节的σ(α^k)的计算,可以执行m为1~8这8个中位侧8位输出与σ0的总和。下位字节的σ(α^k)的计算,可以执行m为1~8这8个下位侧8位输出与σ0的总和。
另外,ek的计算中的ω(α^k)、σ’(α^k)也通过同样的方法计算。
图36中,错误值计算部732的基本单元738由以下各部构成:作为初始值而载入(α^j)^m的参数载入型乘法器7381、作为初始值而载入ωm的触发器7383、固定乘法器7384、7385、7386、以及2输入1输出的选择器7382。固定乘法器7384的乘法运算值是×α^3m,固定乘法器7385的乘法运算值是×α^-m,固定乘法器7386的乘法运算值是×α^-2m。此外,基本单元738的动作与图35相同,因此省略。
ω(α^k)的计算,具备m=1~7的7个图36的基本单元738,执行它们的输出与ω0的总和。与σ(α^k)相同地,上位字节、中位字节、下位字节独立地计算。
在图37中,错误值计算部732的基本单元737B由以下各部构成:作为初始值而载入(α^j)^m的参数载入型乘法器7371B、作为初始值而载入σm+1的触发器7373B、固定值乘法器7374B、7375B、7376B以及2输入1输出的选择器7372B。固定乘法器7374B的乘法运算值是×α^3m,固定乘法器7375B的乘法运算值是×α^-m,固定乘法器7376B的乘法运算值是×α^-2m。此外,基本单元738B的动作与图35相同,因此省略。
σ′(α^k)的计算,具备m=1~3的3个图37的基本单元737B,可以执行它们的输出与σ1的总和。与σ(α^k)同样地,上位字节、中位字节、下位字节独立地计算。
图35~图37的各基本单元,在第一次的时钟输入后,上位字节侧输出FEC帧的先头第1字节所对应的计算结果,中位字节侧输出第2字节所对应的计算结果,下位字节侧输出第3字节所对应的计算结果。在第二次的时钟输入后,上位字节侧输出FEC帧的第四字节所对应的计算结果,中位字节侧输出第五字节所对应的计算结果,下位字节侧输出第六字节所对应的计算结果。以下相同。
图38中,错误值计算部732的基本单元739由以下各部构成:作为初始值而载入α^-j的参数载入型乘法器7391、作为初始值而载入α^0的触发器7393、固定乘法器7394、7395、7396、2输入1输出的选择器7392。固定乘法器7394的乘法运算值是×α^-3,固定乘法器7395的乘法运算值是×α^1,固定乘法器7396的乘法运算值是×α^2。此外,基本单元739的动作与图35相同,因此省略。
α^-k在图38中计算。上位字节、中位字节、下位字节独立地计算。
当没有压缩的情况下,在第一次时钟输入后,上位字节侧输出α^-1,中位字节侧输出α^-2,下位字节侧输出α^-3。在第二侧时钟输入后,上位字节侧输出α^-4,中位字节侧输出α^-5,下位字节侧输出α^-6。以下相同。
为了使σ′(α^k)的除法运算也在上位字节、中位字节、下位字节中独立地执行,准备3个图17的逆元素参数580,分别用于上位字节侧、中位字节侧、下位字节侧。此外,图35~图38的各基本单元的各线为8位并列。另外,选择器7372等的控制与图20等相同。而且,在码压缩是先头压缩方式的情况下,可以在进行FEC帧的错误搜索计算前,使选择器737-2等选择乘法器侧。
当码压缩是中部压缩方式时,需要在信息区域和校验位区域中切换选择器7372等。例如,有时,在某3字节的判定定时,FEC帧的信息区域的最后的字节与该FEC帧的校验位的先头字节位置的判定同时进行。这是FEC帧内的一种钩。
在这种情况下,直到该定时,选择器(737-2等)选择直通侧(837-1等),仅使输出信息区域的字节位置有效,在下一定时停止向触发器FF(737-3)等的时钟输入,使触发器FF(737-3等)的输出维持前一次那样,在该状态下使选择器(737-2等)选择乘法器侧(737-1等),仅使校验位区域所对应的字节位置有效。而且,在下一定时以后,使时钟输入有效来进行计算。由此,即使信息区域与校验位区域的搜索判定位置为钩,在钩的定时仅进行信息区域的判定,在下一定时进行相当于钩剩余部分的校验位区域的判定,而且在下一定时以后,可以继续进行校验位区域的判定。即,将钩定时分为两次的定时来计算。
错误搜索730的吞吐量比FEC帧的吞吐量高,因此即使像这样将某一次的计算定时延长到两次,计算也不会来不及。
对Tdelay-DEC进行更详细的说明。在此,在16位并列的FEC解码器的错误搜索部,作为从8位并列变为16位并列的方法,对时钟加倍(方法1)、处理部加倍(方法2)、在一次时钟周期中处理两字节大小的数据位置(方法3)、在一次时钟周期处理3字节大小的数据位置(方法4)进行了说明。
当FEC解码器700能接收的FEC帧的最大长度为AA字节,多项式系数计算720中产生的固定延迟时间或最大延迟时间为BB时钟周期时,以1个时钟周期作为接收FEC帧内的两字节的时间。另外,由于FEC解码器700内的数据的传送、FEC解码器700与其外部的数据传送等FEC解码计算以外的因素而产生的延迟DD是若干时钟周期(例如5周期)。令钩现象中的计数增量FF为1。但在使用方法1到方法4时,FF为0。使Tdelay-DEC是固定值、且是CC以上的时钟周期,来构成解码器。
在此,CC=AA×1.5+BB+DD+FF
而且,作为错误搜索730而使用方法3或方法4的情况下,
CC=AA+BB+DD+FF。
数据存储器740使数据仅延迟Tdelay-DEC的时间来输出。数据存储器740的容量是可以对在Tdelay-DEC的时间内能接收的总的数据进行缓冲的容量,在Tdelay-DEC后逐一读出所存储的数据。
另外,纠错部750、错误搜索部730,与根据Tdelay-DEC的延迟时间来进行纠错并输出同时地,将用于纠错的各信息输出并进行纠错。
当AA=255、BB=15,使用方法4时,Tdelay-DEC最低也是275时钟周期以上的固定值。若使Tdelay-DEC为275时钟周期的固定值,使FEC帧的接收比特率为1Gbps,则Tdelay-DEC与接收275×8位大小的时间相当,等于2.2微秒。
通过这样构成,即使连续接收AA字节以下的任意长度、且该长度动态增减的FEC帧,也可以切实地进行纠错。假如不这样构成,则当接收到的FEC帧的长度动态地增加时,校验子计算710、错误搜索730的计算来不及,无法对长度为AA的FEC帧进行纠错。其原理在于,校验子计算710、错误搜索730的计算需要与FEC帧长度相对应的时钟周期的数量。
根据以上说明的实施例,可以提供即使FEC帧长度不同,也能以相同的纠错码来处理的光集线装置以及光用户装置。
根据本发明,可以提供即使FEC帧长度不同,也能以相同纠错码处理的光集线装置以及光用户装置。

Claims (8)

1.一种由光电变换部、PON收发部以及物理层构成的光集线装置,其特征在于,
所述PON收发部包含纠错码解码器,所述纠错码解码器包含:压缩补偿参数表、参照该压缩补偿参数表运算校验子的校验子计算部或者参照所述压缩补偿参数表运算错误位置或错误值的错误搜索部。
2.根据权利要求1所述的光集线装置,其特征在于,
还包含逆元素参数表,
所述错误搜索部参照该逆元素参数表运算所述错误值。
3.根据权利要求1所述的光集线装置,其特征在于,
还包含错误位置多项式或错误评价多项式的多项式系数计算部。
4.根据权利要求2所述的光集线装置,其特征在于,
还包含错误位置多项式或错误评价多项式的多项式系数计算部。
5.一种由光电变换部、PON收发部以及物理层构成的光用户装置,其特征在于,
所述PON收发部包含纠错码解码器,所述纠错码解码器包含:压缩补偿参数表、参照该压缩补偿参数表运算校验子的校验子计算部或者参照所述压缩补偿参数表运算错误位置或错误值的错误搜索部。
6.根据权利要求5所述的光用户装置,其特征在于,
还包含逆元素参数表,
所述错误搜索部参照该逆元素参数表运算所述错误值。
7.根据权利要求5所述的光用户装置,其特征在于,
还包含错误位置多项式或错误评价多项式的多项式系数计算部。
8.根据权利要求6所述的光用户装置,其特征在于,
还包含错误位置多项式或错误评价多项式的多项式系数计算部。
CN200710126850.6A 2006-12-13 2007-06-28 光集线装置以及光用户装置 Pending CN101207456A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006336147 2006-12-13
JP2006336147A JP4313391B2 (ja) 2006-12-13 2006-12-13 光集線装置および光加入者装置

Publications (1)

Publication Number Publication Date
CN101207456A true CN101207456A (zh) 2008-06-25

Family

ID=39527378

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710126850.6A Pending CN101207456A (zh) 2006-12-13 2007-06-28 光集线装置以及光用户装置

Country Status (3)

Country Link
US (1) US7978972B2 (zh)
JP (1) JP4313391B2 (zh)
CN (1) CN101207456A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639919A (zh) * 2013-11-14 2015-05-20 杭州海康威视数字技术股份有限公司 用于数字视频光端机系统的数据传输方法及其系统

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009055562A (ja) * 2007-08-29 2009-03-12 Sanyo Electric Co Ltd 復号方法ならびにそれを利用した復号装置および受信装置
US8327242B1 (en) * 2008-04-10 2012-12-04 Apple Inc. High-performance ECC decoder
US8166365B2 (en) * 2008-12-03 2012-04-24 Ciena Corporation Cycle slip location and correction
JP4544435B2 (ja) * 2009-02-10 2010-09-15 日本電気株式会社 映像品質推定装置、映像品質推定方法およびプログラム
JP5277071B2 (ja) 2009-05-25 2013-08-28 株式会社日立製作所 光アクセスシステム、光集線装置および光加入者装置
JP2011165026A (ja) * 2010-02-12 2011-08-25 Toshiba Corp エラー検出訂正システム
CN102263609B (zh) * 2010-05-31 2014-03-05 国际商业机器公司 帧边界检测方法和设备及解码方法和系统
US8738988B2 (en) * 2010-06-29 2014-05-27 Futurewei Technologies, Inc. Data sending/receiving method with forward error correction and related component and system for gigabit ethernet
JP5624848B2 (ja) * 2010-10-22 2014-11-12 株式会社日立製作所 光通信カード、及び光伝送装置
JP5275398B2 (ja) 2011-03-28 2013-08-28 株式会社東芝 リードソロモン復号器及び受信装置
JP5810670B2 (ja) * 2011-06-24 2015-11-11 富士通株式会社 誤り訂正処理回路および誤り訂正処理方法
CN103888303A (zh) * 2014-04-21 2014-06-25 国家电网公司 一种数据报文的控制方法和装置
KR20200078830A (ko) * 2018-12-24 2020-07-02 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 모듈
US11342938B1 (en) * 2020-04-23 2022-05-24 Xilinx, Inc. Method and apparatus for codeword alignment
KR20210150149A (ko) * 2020-06-03 2021-12-10 삼성전자주식회사 신드롬과 부분 계수 정보를 병렬적으로 생성하는 에러 정정 장치 및 방법

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3252515B2 (ja) 1993-03-04 2002-02-04 松下電器産業株式会社 誤り訂正装置
US6081920A (en) * 1998-01-08 2000-06-27 Lsi Logic Corporation Method and apparatus for fast decoding of a Reed-Solomon code
JP3922819B2 (ja) * 1998-09-21 2007-05-30 富士通株式会社 誤り訂正方法及び装置
JP3272307B2 (ja) * 1998-09-22 2002-04-08 インターナショナル・ビジネス・マシーンズ・コーポレーション リード・ソロモン符号の復号回路
US6374383B1 (en) * 1999-06-07 2002-04-16 Maxtor Corporation Determining error locations using error correction codes
JP3699863B2 (ja) * 1999-07-12 2005-09-28 株式会社日立コミュニケーションテクノロジー エラー訂正符号装置、エラー訂正符号復号装置および伝送装置
US6360348B1 (en) * 1999-08-27 2002-03-19 Motorola, Inc. Method and apparatus for coding and decoding data
JP3668673B2 (ja) * 2000-06-09 2005-07-06 株式会社日立コミュニケーションテクノロジー エラー訂正符号の構成方法、復号方法、伝送装置、ネットワーク
JP2002056671A (ja) * 2000-08-14 2002-02-22 Hitachi Ltd ダイナミック型ramのデータ保持方法と半導体集積回路装置
US6640327B1 (en) * 2000-11-01 2003-10-28 Sharp Laboratories Of America, Inc. Fast BCH error detection and correction using generator polynomial permutation
JP3954803B2 (ja) * 2001-03-22 2007-08-08 三洋電機株式会社 エラー訂正装置
US6957378B2 (en) * 2001-06-04 2005-10-18 Kabushiki Kaisha Toshiba Semiconductor memory device
JP2003069535A (ja) * 2001-06-15 2003-03-07 Mitsubishi Electric Corp 誤り訂正多重化装置、誤り訂正多重分離装置、これらを用いた光伝送システムおよび誤り訂正多重化伝送方法
JP2003078421A (ja) * 2001-09-04 2003-03-14 Canon Inc 符号系列の先頭位置検出方法とその装置、それを用いた復号方法とその装置
US6990624B2 (en) * 2001-10-12 2006-01-24 Agere Systems Inc. High speed syndrome-based FEC encoder and decoder and system using same
US20030101406A1 (en) * 2001-10-12 2003-05-29 Leilei Song Low complexity and low power FEC supporting high speed parallel decoding of syndrome-based FEC codes
US6766345B2 (en) 2001-11-30 2004-07-20 Analog Devices, Inc. Galois field multiplier system
US6920600B2 (en) * 2002-01-23 2005-07-19 Thomson Licensing S.A. Dual chien search blocks in an error-correcting decoder
US7020826B2 (en) * 2002-01-23 2006-03-28 Thomson Licensing Intra-decoder component block messaging
US20040019842A1 (en) * 2002-07-24 2004-01-29 Cenk Argon Efficient decoding of product codes
US7089276B2 (en) * 2002-10-18 2006-08-08 Lockheed Martin Corp. Modular Galois-field subfield-power integrated inverter-multiplier circuit for Galois-field division over GF(256)
US20040078747A1 (en) * 2002-10-21 2004-04-22 Miller David H. Generalized forney algorithm circuit
US7028247B2 (en) * 2002-12-25 2006-04-11 Faraday Technology Corp. Error correction code circuit with reduced hardware complexity
US7284184B2 (en) * 2003-01-30 2007-10-16 International Business Machines Corporation Forward error correction scheme compatible with the bit error spreading of a scrambler
US7206992B2 (en) * 2003-03-04 2007-04-17 Broadcom Corporation Decoding a received BCH encoded signal
FR2858141A1 (fr) * 2003-07-21 2005-01-28 Canon Kk Codage d'informations par codes de reed-solomon raccourcis
US7281196B2 (en) * 2003-08-08 2007-10-09 Matsushita Electric Industrial Co., Ltd. Single error Reed-Solomon decoder
US7581155B2 (en) * 2003-12-18 2009-08-25 Electronics And Telecommunications Research Institute Apparatus for FEC supporting transmission of variable-length frames in TDMA system and method of using the same
KR100594241B1 (ko) * 2004-01-29 2006-06-30 삼성전자주식회사 순방향 치엔 서치 방식의 리드 솔로몬 디코더 회로
JP2006014228A (ja) 2004-06-29 2006-01-12 Mitsubishi Electric Corp 通信方法、通信方式、局側通信装置および加入者側通信装置
JP4317860B2 (ja) * 2006-08-30 2009-08-19 株式会社日立コミュニケーションテクノロジー 光集線装置および光加入者装置
US20090154916A1 (en) * 2007-12-12 2009-06-18 Tellabs Petaluma, Inc. Method and Apparatus for GPON GEM Error Correction Implementation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639919A (zh) * 2013-11-14 2015-05-20 杭州海康威视数字技术股份有限公司 用于数字视频光端机系统的数据传输方法及其系统
CN104639919B (zh) * 2013-11-14 2017-11-03 杭州海康威视数字技术股份有限公司 用于数字视频光端机系统的数据传输方法及其系统

Also Published As

Publication number Publication date
US7978972B2 (en) 2011-07-12
US20080145064A1 (en) 2008-06-19
JP4313391B2 (ja) 2009-08-12
JP2008148245A (ja) 2008-06-26

Similar Documents

Publication Publication Date Title
CN101207456A (zh) 光集线装置以及光用户装置
CN100576785C (zh) 以太网中的前向纠错编码
US5115436A (en) Forward error correction code system
US8276047B2 (en) Continuously interleaved error correction
CN101136704B (zh) 光集线装置以及光用户装置
CN101436917A (zh) 数据编译码方法及装置
CN101288255A (zh) 通信装置、发送机、接收机和纠错光通信系统
CN102170327B (zh) 超强前向纠错的硬件译码方法及装置
US9647692B2 (en) Upstream forward error correction codeword filling
US20230291502A1 (en) Data Processing Method and Related Apparatus
CN103873071A (zh) 一种前向纠错编码、译码方法和装置、通信设备及系统
CN108282265A (zh) 纠错编码方法、装置、设备及计算机可读存储介质
CN101147326A (zh) 纠错编码装置
CN102439874A (zh) 光在网络中发送下行帧的方法及相关装置
CN103560797A (zh) 超强前向纠错五次迭代译码的方法及装置
WO2015169049A1 (zh) 一种微波传输的容错性方法和装置、计算机可读存储介质
JP4934686B2 (ja) 光アクセスシステムにおける送信信号の誤り訂正方法
KR101238665B1 (ko) xGPON 시스템의 상향 및 하향 신호 오류정정 장치 및 방법
Borysenko et al. Development of the Fibonacci-Octal Error Detection Code for Telecommunication Systems
JP3173713B2 (ja) エラー訂正符号化方法および送受信装置
CN109728875B (zh) 一种bch解码方法和装置
CN116261066A (zh) 一种数据传输方法及相关设备
Skrybaylo-Leskiv et al. Algebraic Modeling of Error-Correcting Codes for Info-Communication Systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20080625