JP4313391B2 - 光集線装置および光加入者装置 - Google Patents

光集線装置および光加入者装置 Download PDF

Info

Publication number
JP4313391B2
JP4313391B2 JP2006336147A JP2006336147A JP4313391B2 JP 4313391 B2 JP4313391 B2 JP 4313391B2 JP 2006336147 A JP2006336147 A JP 2006336147A JP 2006336147 A JP2006336147 A JP 2006336147A JP 4313391 B2 JP4313391 B2 JP 4313391B2
Authority
JP
Japan
Prior art keywords
error
unit
error correction
signal
calculation
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
JP2006336147A
Other languages
English (en)
Other versions
JP2008148245A5 (ja
JP2008148245A (ja
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
Priority to JP2006336147A priority Critical patent/JP4313391B2/ja
Priority to CN200710126850.6A priority patent/CN101207456A/zh
Priority to US11/822,543 priority patent/US7978972B2/en
Publication of JP2008148245A publication Critical patent/JP2008148245A/ja
Publication of JP2008148245A5 publication Critical patent/JP2008148245A5/ja
Application granted granted Critical
Publication of JP4313391B2 publication Critical patent/JP4313391B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、加入者宅と通信事業者の局の間を通信する光アクセスシステムの光集線装置および光加入者装置に関する。
音声や画像など、データを転送する公衆通信網の中で、ユーザを局に収容するアクセス網には、電話加入者網やADSL等が利用されてきた。更に近年になって、光アクセスシステムの導入が始まっている。
この光アクセスシステムとしては、局側と加入者の間を1対nで接続する形態として、PON(Passive Optical Network)が知られている。PONでは、上り用と下り用に光波長を1つずつ割り当て、局舎に設けたOLT(Optical Line Terminal)と複数個の加入者宅のONT(Optical Network Terminal)の間で、帯域を共用してデータ通信を行う。OLTからONTに向かう下り側信号は途中スプリッタにおいて光信号が分配され、ONT側で自分宛の信号のみを取り出すことで通信を行う。上り信号に関しては、OLTがONTに対して送信時間タイミングを通知し、そのタイミングに合わせてONTがOLTに対して信号を送信することにより、ひとつの波長を複数のONTで共用してOLTとの通信を行う。
この様な光アクセスシステムとしては、B-PON(Broadband PON)、A-PON(ATM PON)、GE-PON(Giga-bit Ether PON)、G-PON(Gigabit-capable PON)が知られている。特に、G-PONは、最高速度が上り1.25Gbit/s、下り2.5Gbit/sと最も高速で、ATM、イーサネット(登録商標)、WDMプロトコルをサービスするネイティブGEM(Gigabit-capable Encapsulation Method/G-PON Encapsulation Method)を採用することで、複数のプロトコルをサービスする点で、注目を浴びている。
上述したようにOLTとONTとの間にはスプリッタが存在するので、下り信号も上り信号も減衰をうける。このため、PONについても、エラー訂正符号(FEC:Forward Error Correction code)の符号化・復号化技術の適用が検討されている。エラー訂正符号としては、数学的に整然とした体系を有するブロック符号の中で、情報の透過性から組織符号と呼ばれる符号が、専ら用いられる。組織符号は、連続した信号系列を一定のブロック毎に区切り、各ブロック毎に符号化を行うもので、信号内の予め定められた空領域に検査ビットを付加するのみで、元の信号情報は操作されないという特徴を有する。ブロック符号としては古くからハミング符号、BCH符号(Bose-Chaudhuri-Hocquenghem code)、リードソロモン符号等が用いられている。以降、エラー訂正符号の符号化・復号化を単に符号化、復号化と呼ぶ。
特許文献1には、1心の光ファイバ中を伝送する光信号の時分割多重度が2倍程度になった際にも、波長多重した際に元の伝送距離を維持し、光信号の中継間隔を4倍に増加させることが可能で、ITU−T勧告G.975規定の8個エラー訂正リードソロモン符号を導入した既存の伝送網との相互接続性がよく、より高い利得を有するエラー訂正符号の構成方法と伝送装置が記載されている。
特開2001−358597号公報
G−PONの下り信号のFECフレームサイズは255と120の2通りであり、本発明はFECフレームサイズが異なっても、同じエラー訂正符号で処理可能な光集線装置および光加入者装置を提供することにある。
上述した課題は、光電変換部とPON送受信部と物理層とからなり、PON送受信部は、短縮補償パラメータテーブルと、該短縮補償パラメータテーブルを参照してシンドロームを演算するシンドローム計算部または短縮補償パラメータテーブルを参照してエラー位置もしくはエラー値を演算するエラーサーチ部とを含む誤り符号訂正符号デコーダを含む光集線装置により、達成できる。
また、光電変換部とPON送受信部と物理層とからなり、PON送受信部は、短縮補償パラメータテーブルと、該短縮補償パラメータテーブルを参照してシンドロームを演算するシンドローム計算部または短縮補償パラメータテーブルを参照してエラー位置もしくはエラー値を演算するエラーサーチ部とを含む誤り符号訂正符号デコーダを含む光加入者装置により、達成できる。
本発明によれば、FECフレームサイズが異なっても、同じエラー訂正符号で処理可能な光集線装置および光加入者装置を提供することができる。
以下本発明の実施の形態について、実施例を用い図面を参照しながら説明する。なお、原則として、実質同一部位には同じ参照番号を振り、説明は繰り返さない。ただし、FECデコーダは、参照番号903と500とを用いる。
図1は光アクセスネットワークのブロック図である。光アクセスネットワーク10は、光集線装置(OLT:Optical Line Terminal)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ネットワーク7へと収容される。これらの信号を上り信号と呼ぶ。
また、逆にTDMネットワー7からのTDM信号は、光アクセスネットワーク10を介してTDMシステム5に収容される。またIPネットワーク6からの信号は光アクセスネットワーク10を介してIPシステム4へと収容される。これらの信号を下り信号と呼ぶ。
なお、以下説明する図7までのブロック図において、信号の流れる方向(上り、下り)は、図1に合わせている。
図2はOLTのブロック図である。幹線ファイバ8からの上り光信号は、光電変換モジュール71で電気信号に変換された後、OLT PON送受信ブロック72でGEM終端される。変換された電気信号は、GEM終端によって、イーサネット信号およびTDM信号に変換される。イーサネット信号とTDM信号は、それぞれイーサネットPHY73およびTDM PHY 74を介して、IPネットワーク6およびTDMネットワーク7へと送出される。
IPネットワーク6およびTDMネットワーク7から到来する下り信号は、それぞれイーサネットPHY73またはTDM PHY74で受信された後、OLT PON送受信ブロック72に送信される。OLT PON送受信ブロック72は、GEMフレーム組み立てを行った後、光電変換モジュ-ル71を介して幹線光ファイバ8へ送出される。MPU75、RAM76および制御系インターフェース77は、OLT1を制御するためのマイコン、RAMおよび外部よりOLT1に設定を行うためのインターフェースである。
図3はONTのブロック図である。加入者ファイバ9からの下り光信号は、光電変換モジュール81で電気信号に変換された後にONT PON送受信ブロック82にてGEM終端される。ONT PON送受信ブロック82は、変換された電気信号を、イーサネットフレームおよびTDM信号に変換する。イーサネットフレームおよびTDM信号は、それぞれイーサネットPHY 83およびTDM PHY84を介して、IPシステム4およびTDMシステム5へと送出される。
IPシステム4およびTDMシステム5からの上り信号は、それぞれイーサネットPHY83またはTDM PHY 84で受信された後、ONT PON送受信ブロック82に送信される。ONT PON送受信ブロック82は、GEMフレーム組み立てを行った後、光電変換モジュール81を介して、加入者ファイバ9へ送出される。MPU85、RAM86および制御系インターフェース87は、ONT2を制御するためのマイコン、RAMおよび外部よりONT2に設定を行うためのインターフェースである。
図4はOLTのPON送受信ブロックのブロック図である。光電変換モジュール71からの上りPONフレーム信号は、PON受信部90で同期処理とGEM切り出し処理を行った後に、切り出されたペイロードは、受信GEM組立部91に送信される。受信GEM組立部91は、複数の短期フレームに分割されて送信されたGEMの組み立てを行う。その後、受信GEMバッファ92に格納されて、OLT受信テーブル93のテーブル情報に応じて、OLT上りイーサネットGEM終端部94とOLT上りTDM GEM終端部96に振り分けられる。
OLT上りイーサネットGEM終端部94は、GEMフレームからイーサネットフレームを取り出し、取り出したイーサネットフレームをOLT上りイーサネットインターフェース95を介してイーサネットPHY73へと送出する。OLT上りTDM GEM終端部96は、GEMフレームからTDM信号を抜き出し、抜き出したTDM信号を所望のタイミングでOLT上りTDMインターフェース97を介してTDM PHY74へと送出する。
下り信号に関しては、OLT下りTDMインターフェース104は、TDM PHY74からTDM信号を受信する。OLT下りTDM GEM終端部103は、TDM信号をバッファリングしてGEMを生成する。OLT下りイーサネットインターフェース106は、イーサネットPHY73からのイーサフレームを受信する。OLT下りイーサネットGEM終端部105は、GEMの生成を行う。OLT送信スケジューラ102は、OLT下りTDM GEM終端部103を制御して、周期的にTDMのGEMを送信GEMバッファ101に送出する。OLT送信スケジューラ102は、また、OLT下りイーサネットGEM終端部105を制御して、空いたタイミングでイーサ信号のGEMを送信GEMバッファ101に送出する。OLT送信スケジューラ102は、送信GEMバッファ101を制御して、周期的にTDM信号のGEMとイーサ信号のGEMを送信GEM組立部100に転送する。送信GEM組立部100は、PONフレームのペイロード分のGEMを組み立て、PON送信部99に転送する。PON送信部99は、ヘッダを生成した後、PONフレームの送信を行う。
OLT1とONT2との距離測定であるレンジングを行う場合には、レンジング制御部98がレンジング信号を、OLT送信スケジューラ102により許可されたタイミングで、PON送信部99より送出する。ONT2からの応答がPON受信部90を介してレンジング制御部98に戻って<ることで、レンジングが完了する。
なお、MPUインターフェース107は、MPU75の各制御ブロックに対する制御を仲介する。
図5はONTのPON送受信ブロックのブロック図である。光電変換モジュール81からの下り信号は、PON受信部127が受信する。PON受信部127は、同期処理、GEM切り出し処理を行う。受信GEM組立部126は、複数の短期フレームに分割されて送信されたGEMの組み立てを行う。組み立てられたGEMは、受信GEMバッファ125に格納されて、ONT受信テーブル124のテーブル情報に応じて、ONT下りイーサネットGEM終端部121とONT下りTDM GEM終端部123に振り分けられる。ONT下りイーサネットGEM終端部121は、GEMからイーサネットフレームを抜き出す。イーサネットフレームは、ONT下りイーサネットインターフェース120を介して、イーサネットPHY83へ送出される。ONT下りTDM GEM終端部123は、GEMからTDM信号が抜き出し、予め定められたタイミングでONT下りTDMインターフェース122を介して、TDM PHY84へと送出される。
上り信号に関しては、ONT上りTDMインターフェース134がTDM信号を受信する。ONT上りTDM GEM終端部133は、TDM信号をバッファリングしてGEMを組み立てる。ONT上りイーサネットインターフェース136は、イーサフレームを受信する。ONT上りイーサネットGEM終端部135は、GEMの生成を行う。ONT送信スケジューラ131は、ONT上りTDM GEM終端部133を制御して、周期的にTDMのGEMを、送信GEMバッファ132に転送する。また、ONT送信スケジューラ131は、ONT上りイーサネットGEM終端部135を制御して、空いたタイミングで、イーサネットのGEMを、送信GEMバッファ132に転送する。ONT送信スケジューラ131は、送信GEMバッファ132を制御して、周期的にTDMのGEMとイーサネットのGEMを送信GEM組立部130に転送する。送信GEM組立部130は、PONフレームのペイロード分のGEMを組み立て、PON送信部129に転送する。PON送信部129は、ヘッダを生成した後、PONフレームの送信を行う。
レンジングを要求された場合には、PON受信部127で受信したレンジング要求信号をレンジング制御部128で処理し、折り返しPON送信部129を介してレンジング受信信号を送り返す。
なお、MPUインターフェース137は、MPU85の各制御ブロックに対する制御を仲介する。
図6はOLTのPON受信部とPON送信部のブロック図である。また、図7はONTのPON受信部とPON送信部のブロック図である。図6(a)において、OLT PON受信部90は、上り信号のフレーム同期を取るフレーム同期部902と、スクランブルを解除するデスクランブラ901と、情報ワードとFECパリティを分離し、情報ワードの誤り修正を行うFECデコーダ903と、PONフレーム終端部904と、暗号を復号する暗号デコーダ905とから構成される。図6(b)において、OLT PON送信部99は、下り信号を暗号化する暗号エンコーダ991と、暗号化データをPONフレーム化するPONフレーム生成部992と、PONフレームにFECパリティを加えるFECエンコーダ993と、フレーム同期信号を挿入するフレーム同期信号挿入部994と、スクランブラ995とから構成される。
図7(a)のONT PON受信部127は、図6(a)のOLT PON受信部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ビット、その1)を説明する図である。図8DはFECコードワードの構成(パラレル16ビット、その2)を説明する図である。図8EはFECコードワードの構成(パラレル8ビット、可変ワード長)を説明する図である。図8FはFECコードワードの構成(パラレル16ビット、可変ワード長)を説明する図である。
図8Aにおいて、FECコードワードは、255バイトの固定長で、先頭バイト#1から#239までの239バイトが情報ワード、#240から#255までの16バイトがFECパリティである。また、1バイトはシリアルな8ビットである。
図8Bにおいて、FECコードワードは、255バイトの固定長で、先頭バイト#1から#239までの239バイトが情報ワード、#240から#255までの16バイトがFECパリティである。また、1バイトはパラレルな8ビットである。図8BのFECコードワードは、図8AのFECコードワードに比べ速度を1/8とすることができる。
図8Cと図8Dにおいて、FECコードワードは、255バイトの固定長で、先頭バイト#1から#239までの239バイトが情報ワード、#240から#255までの16バイトがFECパリティである。また、各2バイトはパラレルな16ビットである。ただし、FECコードワード長は255バイト固定なので、奇数番目のFECコードワードA、C用と、偶数番目のFECコードワードB用の、処理回路が必要となる。なお、16ビットパラレルのFECコードワードの先頭または末尾に現れる余分な1バイトを、以下では鍵型と称して説明する。図8C、図8DのFECコードワードは、図8BのFECコードワードに比べ速度を1/2とすることができる。
図8Eにおいて、FECコードワードは、17バイト以上255バイト以下の可変長で、末尾の16バイトがFECパリティで、先頭の少なくとも1バイト、多くとも239バイトの情報ワードである。また、1バイトはパラレルな8ビットである。
図8Fにおいて、FECコードワードは、17バイト以上255バイト以下の可変長で、末尾の16バイトがFECパリティで、先頭の少なくとも1バイト、多くとも239バイトの情報ワードである。また、各2バイトはパラレルな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は、ガロア体(256)の元であり、2進数8ビットで表記したものが、マトリックスパラメータAkの8行目(a81 a82 a83 a84 a85 a86 a87 a88)である。
マトリックスパラメータAkの1〜7行目は、1≦m≦7のmに対して、m=7から順にp=m+1として、式1を計算することで得る。なお、式1の「+」は、排他的論理和である。
Figure 0004313391
wは、マトリックスパラメータAkの要素と、uとから式2により求める。なお、・は論理積、+は排他的論理和である。
Figure 0004313391
図10において、固定乗算回路242(xα^k)は、そのマトリックスパラメータBkを用いて、8ビット並列の入力uを、8ビット並列の出力wに変換する。マトリックスパラメータBkの各要素は0か1である。α^kは、ガロア体(256)の元であり、2進数8ビットで表記したものが、マトリックスパラメータBkの8行目(b81 b82 b83 b84 b85 b86 b87 b88)である。
マトリックスパラメータBkの1〜7行目は、1≦m≦7のmに対して、m=7から順にp=m+1として、式1と同様に計算することで得る。
wは、マトリックスパラメータBkの要素と、uとから式3により求める。なお、・は論理積、+は排他的論理和である。
Figure 0004313391
図11ないし図23を参照して、8ビット並列入力データ用のFECデコーダを詳細に説明する。ここで、図11はFECデコーダのブロック図である。図12はシンドローム計算部のブロック図である。図13は多項式係数計算部のブロック図である。図14はエラーサーチ部のブロック図である。図15はエラー訂正部のブロック図である。図16は短縮補償パラメータテーブルを説明する図である。図17は逆元パラメータテーブルを説明する図である。図18はFECデコーダの動作タイムチャートである。図19はSk計算回路のブロック図である。図20はエラー位置計算部の基本ユニットを説明するブロック図である。図21はエラー値計算部の基本ユニットを説明するブロック図(その1)である。図22はエラー値計算部の基本ユニットを説明するブロック図(その2)である。図23はエラー値計算部の基本ユニットを説明するブロック図(その3)である。
図11において、FECデコーダ500は、8ビット並列のデータ600と、デコード実行指示信号603と、FECフレームトップ識別信号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の中で乗算計算(「x(α^k)^j」)に使用する。
Sk計算回路512−kは、遅延メモリ511からの入力データが情報エリアの時にこのパラメータで乗算計算を行い、入力データがFECチェックビットエリアの時は乗算計算を行わない。
FECフレームのチェックビットエリアの開始タイミングは、FECフレームサイズ601、FECフレームトップ識別信号602から計算して認識する。しかし、これに限らず、別手段としてチェックビットエリアの開始信号をFECデコーダの外部から貰ってもよい。
チェックビットエリアの最後まで入力し計算した時点で、そのFECフレームのシンドロームが確定する。メモリ516は、シンドローム610が確定したときにこれを保持し、次のFECフレームのシンドロームが確定する時まで出力し続ける。
シンドローム判定部517は、得られたシンドローム610B(S15〜S0)全てが“ゼロ”か否かを判定し、シンドローム判定結果611として出力する。S15〜S0全て“ゼロ”の時は、当該FECフレームにエラーは存在しないと判定し、シンドローム判定結果611には「エラーなし」を表示する。S15〜S0のうち、1個以上が“ゼロ”でないとき、シンドローム判定部517は、該当FECフレームにエラーが存在すると判定し、シンドローム判定結果611には「エラー存在」を表示する。
シンドローム判定結果611は、シンドローム610の出力タイミングに同期し、次のFECフレームのシンドロームが確定するまで出力し続ける。後段の多項式係数計算520は、このシンドローム判定結果611に基づいて動作する。以下シンドローム計算部510の制御を説明する。まず、
y254 y253 y252… y16+j y15 y14…y0をFECデコーダへの入力データとする。
y254がFECフレームの先頭の1バイトであり、y0がFECフレームの最後の1バイトである。y254〜y16+jまでが情報エリアであり、y15〜y0の16バイトがチェックビットエリアである。
以下の全ての計算では、これら1バイトのデータykをガロア体(2^8)の元に対応させて計算する。
Zを変数として、受信多項式Y(Z)は
Y(Z)=y254Z^254+y253Z^253+…+y16Z^16+…+y1Z^1+y0
で定義される。これは、短縮エリアを省略しない数学的に完全な符号長255バイトを持つ符号の各バイトを係数とする多項式である。
シンドロームSkは、シンドローム多項式S(Z)の係数として定義される。
S(Z)=S15Z^15+S14Z^14+…+S1Z^1+S0
Sk=Y(α^k) for 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がチェックバイトエリアである。また、短縮バイトエリアの係数y(16+j−1)〜y16は論理値“ゼロ”であり、
Sk={y254(α^k)^(254−j)+y253(α^k)^(253−j)+…+y(16+j)(α^k)^16}x(α^k)^j+y15(α^k)^15+…+y1(α^k)+y0である。ここで、y254(α^k)^(254−j)からy(16+j)(α^k)^16が情報バイトエリア、y15(α^k)^15からy0がチェックバイトエリアである。
また、短縮方式が先頭詰め(つまり数学的に符号先頭から短縮バイトエリア、情報バイトエリア、チェックビットエリアの順に配置される)の場合は、
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がチェックバイトエリアである。また、短縮バイトエリアの係数y254〜y(255−j)は、論理値“ゼロ”であり、
Sk={y(254−j)(α^k)^(254−j)+y(253−j)(α^k)^(253−j)+…+y16(α^k)^16}x(α^k)^j+y15(α^k)^15+…+y1(α^k)+y0である。ここで、y(254−j)(α^k)^(254−j)からy16(α^k)^16が情報バイトエリア、y15(α^k)^15からy0がチェックバイトエリアである。
シンドローム計算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が「エラーなし」を表示しているとき、次のFECフレームの計算タイミングまでユークリッド互除計算部521を動作休止し、次のFECフレームの計算タイミングまで多項式係数判定結果621として「エラーなし」を表示し続ける。一方、シンドローム判定結果611が「エラー存在」を表示しているとき、ユークリッド互除計算521を動作させる。
メモリ523は、多項式係数計算完了毎に、多項式係数620B、多項式係数判定結果621Bを保持し、次のFECフレームに対する多項式係数計算が完了するまで多項式係数620、多項式係数判定結果621として出力し続ける。なお、多項式係数判定結果621は、多項式係数620の出力タイミングに同期にして出力される。
シンドローム判定結果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)、ELP(Error Locator Polynominal:エラー位置多項式)は式4で与えられ、EEP(Error Evaluator Polynominal:エラー評価多項式)は式5で与えられる。
Figure 0004313391
Figure 0004313391
ユークリッド互除計算部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の中で桁上計算(乗算「x(α^k)^(j+16)」、乗算「x(α^−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からチエンサーチ方法等を使ってエラーの存在する位置とそのエラー値とをそれぞれ求める。
参照番地計算部535は、FECフレ−ムサイズ602から、参照すべきテーブル560−2及び580の番地を計算し、テーブル560−2、580に読み出し要求660、680を出し、テーブル560−2、580から読み出した短縮補償パラメータ661、681を、エラー位置計算531、エラー値計算532にインプットする
エラーサーチ解析部533は、ELP計算出力634が“ゼロ”になるか否かを監視し、“ゼロ”になったとき、そのタイミングに対応する仮エラー位置630Bと、そのときのEEP計算出力635の値を仮エラー値631Bとしてメモリ534に出力し格納する。
あるFECフレームに対するエラー位置計算531、エラー値計算532が完了し、エラーサーチ解析533で矛盾が発生しなければ、エラーサーチ判定結果632Bに「エラー訂正可能」を表示する。また、それまでにメモリ534に格納した仮エラー位置630Bと、仮エラー値631Bはそのままエラー位置630、エラー値631として出力する。さらにエラーサーチ判定結果632Bをそのままエラーサーチ判定結果632として出力する。仮エラー位置630Bと、仮エラー値631Bは1対1に対応したものであり、読み出す際の対応のとりやすくするために同じ番地に書き込む。
エラーサーチ解析部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となる。
Figure 0004313391
ここで、σ'(z)はσ(z)の一次微分で、式7で与えられる。
Figure 0004313391
エラー位置計算部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とエラー訂正部550の内部で生成した8ビット並列のオールゼロ信号とを入力とするセレクタ552と、セレクタ552の出力と、データ格納メモリ540の読み出しデータ640とを加算する加算部553とから構成される。
エラー訂正部550のセレクタ制御部551は、デコード実行指示信号603が「デコード実行」を指示しており、エラーサーチ判定結果632が「エラー訂正可能」を表示し、かつエラー位置VLD信号630がエラー位置であることを示すタイミングで、セレクタ552においてエラー値631側を選択する。上記以外では、セレクタ制御部551は、常にオール“ゼロ”側を選択する。
なお、加算部553は、ビット毎の排他的論理和を演算する。
図16において、短縮補償パラメータテーブル560は、番地と内容とで構成され、番地は10進数で表している。番地nに対応する内容として、ガロア体(2^8)の元「α^n」を2進数の8ビットで設定しておく。短縮補償パラメータテーブル560は、デコーダとして動作開始させる前に予めFECデコーダ500内で計算して設定しておく。あるいは、短縮補償パラメータテーブル560をFECデコーダ500の外部から設定できるようにしてもよい。
図17において、逆元パラメータテーブル580は、番地と内容とで構成され、番地は10進数で表している。番地nに対応する内容として、ガロア体(2^8) の元garoi 「n」の逆元( garoi 「n」 )^−1を2進数の8ビットで設定しておく。逆元パラメータテーブル580は、デコーダとして動作開始させる前に予めFECデコーダ500内で計算して設定しておく。あるいは、逆元パラメータテーブル580をFECデコーダ500の外部から設定できるようにしてもよい。なお、逆元パラメータテーブル580の0番地はdon't careで、ゼロでもよい。
図18において、(a)はFECデコータ500の入力データすなわちデータ格納メモリ540への書込みタイミングである。(b)はフレームトップ識別信号601のタイミングである。(c)はFECフレームサイズ信号のタイミングである。(d)はシンドローム計算部510の短縮補償パラメータ661の入力タイミングである。(e)はシンドローム計算部510のシンドローム計算のタイミングである。(f)はシンドローム計算部510のシンドローム610と判定結果611の出力タイミングである。(g)は多項式係数計算部520の多項式係数計算のタイミングである。(h)は多項式係数計算部520の多項式係数620と判定結果621の出力タイミングである。(i)はエラーサーチ部530のパラメータ入力タイミングである。(j)はエラーサーチ部530のエラーサーチ計算のタイミングである。(k)はエラーサーチ部530のエラー位置VLD信号630、エラー値631、エラーサーチ判定結果632の出力タイミングである。(l)はエラー訂正部550の出力すなわちFECデコーダ500の出力データ604の出力タイミングである。
FECデコーダ500が受信しうるFECフレームの最大サイズをAAバイト、多項式係数計算520で発生する固定的な遅延時間または最大の遅延時間をBBクロック周期、DDをFECデコーダ500内でのデータの受け渡し、FECデコーダ500とその外部とのデータの受け渡し等のFECでコード計算以外の要因で発生する遅延としたとき、Tdelay−DECを固定値、かつCC以上のクロック周期としてデコーダを構成する。
ここで、
CC=AAx2+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は525x8ビット分を受信する時間相当であり、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と、フリップフロップ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は、入力データを1クロック保持したあと、メモリ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を初期値としてロードする。
ω(α^k)のm次の係数ωm(α^k)^mは、図21でクロック入力周期のk回目で出力される。符号短縮によりセレクタを切り替えるタイミング等は、図20と同様である。
図22において、エラーサーチ部530のエラー値計算部532の基本ユニット537Bは、パラメータロード型乗算器5371Bと、セレクタ5372Bと、フリップフロップ(FF)5373Bと、固定乗算器5374Bとから構成される。
パラメータロード型乗算器5371Bは、短縮パラメータの(α^j)^mをロードする。フリップフロップ(FF)5373Bは、σm+1を初期値としてロードする。
σ'(α^k) の「α^k」のm次の係数は、σm+1(α^k)^mゆえに、図22でクロック入力周期のk回目で出力される。符号短縮によりセレクタを切り替えるタイミング等は図20と同様である。
図23において、エラーサーチ部530のエラー値計算部532の基本ユニット539は、パラメータロード型乗算器5391と、セレクタ5392と、フリップフロップ(FF)5393と、固定乗算器5394とから構成される。
パラメータロード型乗算器5391は、逆元パラメータの(α^−j)をロードする。フリップフロップ(FF)5393は、α^0を初期値としてロードする。
σ'(α^k)による除算は、まずσ'(α^k)を求め、次にσ'(α^k)の逆元σ'(α^−k)」を求め、この逆元による乗算を実行すればよい。逆元は図17の逆元パラメータテーブル580から読み出せばよい。
α^−kの計算は、図23でクロック入力周期のk回目で出力される。符号短縮によりセレクタを切り替えるタイミング等は図20と同様である。
パラメータロード型乗算器5391の初期値α^−jは、ガロア体の性質からα^(255−j)に等しいので、短縮補償パラメータテーブル560の第(255−j)番地を読み出せばよい。jがゼロ、すなわち短縮していないときはテーブル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の中で乗算計算(「x(α^k)^j」)に使用される。
短縮方式が中詰めの場合、Sk計算回路712−kは、遅延メモリ711からの入力データが情報エリアのとき、このパラメータで乗算計算を行い、FECチェックビットエリアの時は乗算計算を行わない。Sk計算回路712−kは、FECフレームの最後のデータを入力完了でシンドロームSkが確定し出力する。例えばFECフレームサイズが150バイトだった場合、FECフレーム先頭から数えてクロック入力周期の75回目または76回目でSkが確定する。FECフレーム先頭が上位側バイト位置のときは75回目、FECフレーム先頭が下位側バイト位置のときは76回目である。
なお、短縮方式が先頭詰めの場合は、Sk計算回路712−kでは、短縮補償計算は不要であり、乗算計算(「x(α^k)^j」)は不要である。
FECフレームのチェックビットエリアの開始タイミングは、 FECフレームサイズ801、FECフレームトップ識別信号802から計算して認識できるが、別手段としてチェックビットエリアの開始信号をFECデコーダの外部から貰ってもよい。チェックビットエリアの最後まで入力し計算した時点で、そのFECフレームのシンドロームが確定する。
メモリ716は、シンドロームが確定したときにこれを保持し、次のFECフレームのシンドロームが確定する時まで出力し続ける。
シンドローム判定部717は、得られたシンドローム810B(S15〜S0)全てが“ゼロ”か否かを判定し、シンドローム判定結果811として出力する。S15〜S0が全て“ゼロ”のとき、該当FECフレームにエラーは存在しないと判定し、シンドローム判定結果811には「エラーなし」を表示する。S15〜S0のうち少なくとも1つが“ゼロ”でないとき、該当FECフレームにエラーが存在すると判定し、シンドローム判定結果811には「エラー存在」を表示する。シンドローム判定結果811は、シンドローム615の出力タイミングに同期し、次のFECフレームのシンドロームが確定するまで出力し続ける。
後段の多項式係数計算720はこのシンドローム判定結果811に基づいて動作する。
S制御部713は、FECフレームの最後のバイトが上位側8bitで終わるか、下位側8bitで終わるかを示す鍵形補償情報813を情報を生成し、該当FECフレームのシンドローム計算を開始する前に、16台のSk計算回路712−kに分配する。また、S制御部713は、入力データ800が、1つ前のFECフレーム最後のバイトと該当FECフレーム先頭バイトが混在する鍵形のタイミングの時に、鍵形であることを示す鍵形タイミング情報812を生成し、Sk計算回路712−kに分配する。なお、鍵形補償情報813は、直前のFECフレームに対する鍵形補償情報813と該当FECフレームサイズ802から前もって計算できる。鍵形タイミング情報812は、トップ識別信号801、FECフレームスタート位置情報806から演算できる。また、直前のFECフレームに対する鍵形補償情報813、該当FECフレームのトップ識別信号801からも演算できる。
図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の時は、多項式係数計算720を7個具備するか、あるいは多項式係数計算にインプットするクロック周期を、もとのクロック周期の7分の1以下、つまりクロック周波数を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の第1の方法の構成は、基本的には8ビットのエラーサーチ部530と同じ構成である。しかし、クロック周波数を2倍以上にして動作させる。但し、エラー値831を16ビットで出力、エラー位置VLD信号830は上位側8ビットと下位側8ビットに対して独立に2系統で出力、エラーサーチ判定結果832も上位側8ビットと下位側8ビットに対して独立に2系統で出力する。
受信した多項式係数判定結果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の中で桁上計算(乗算「x(α^j)^m」、乗算「x(α^-j)」)およびσ(z)の一次微分による除算に使用する。
エラーサーチ解析部733は、ELP計算出力834が“ゼロ”になるか否かを監視し、“ゼロ”になったとき、そのタイミングに対応する仮エラー位置830Bと、そのときのEEP計算出力835の値を仮エラー値831Bとしてメモリ734に出力する。メモリ734は、仮エラー位置830Bと、仮エラー値831Bを格納する。
あるFECフレームに対するエラー位置計算とエラー値計算が完了し、エラーサーチ解析733で矛盾が発生しなければ、エラーサーチ部730は、エラーサーチ判定結果832Bに「エラー訂正可能」を表示する。エラーサーチ部730は、それまでにメモリ734に格納した仮エラー位置830Bと、仮エラー値831Bを、そのままエラー位置830、エラー値831として出力する。また、エラーサーチ部730は、エラーサーチ判定結果832Bをそのままエラーサーチ判定結果832としてして出力する。仮エラー位置830Bと、仮エラー値831Bとは、1対1に対応したものであり、読み出す際に対応をとりやすくするように、同じ番地の領域に書き込む。
エラーサーチ解析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は、エラー位置VLD信号830とエラー値831を、エラー訂正750でエラー訂正される2バイト毎のタイミングで出力する。 エラー位置VLD信号830は上位側8ビット、下位側8ビットの各々に対して独立にVLD信号を表示する。エラー値831は、上位側8ビット、下位側8ビットの各々に対して独立にエラー値を表示する。エラーサーチ判定結果832は、上位側8ビット、下位側8ビットの各々に対して独立に判定結果を表示する。なお、エラー位置VLD信号830と、エラーサーチ判定結果832の各々について、上位側用と下位側用の信号は、鍵形が発生しない、という前提の場合には、共通でよい。
エラー位置VLD信号830、エラー値831、エラーサーチ判定結果832の各々の上位側8ビットどうしは互いに対応しているし、下位側8ビットどうしも互いに対応している。
エラー位置計算部731およびエラー値計算部732は、FECフレームトップ識別信号801で、FECフレームの計算要求を認識する。また、受信しうるFECフレームの最小サイズに対応する受信時間に比して、チエンサーチ計算に必要な処理時間が長い場合、エラー位置計算部731およびエラー値計算部732を複数個(2個、4個等)にして、受信するFECフレーム毎に次々と切り替えてエラー位置、エラー値を計算すればよい。
図28において、エラー訂正部750は、FECフレームスタート位置情報806と、FECフレームトップ信号801と、FECフレームサイズ802と、デコード実行指示信号803と、エラーサーチ判定結果832と、エラー位置VLD信号830と、エラー値831と、FECデコーダ700のデータ格納メモリ740の読み出しデータ840とを入力とし、16ビット並列の出力データ804を出力とする。エラー訂正部750は、FECフレームトップ信号801とFECフレームサイズ802とデコード実行指示信号803とエラーサーチ判定結果832とエラー位置VLD信号830とを入力として、上位側セレクタ752と下位側セレクタ753とを制御するセレクタ制御部751と、エラー値831の上位側8ビットとエラー訂正部700の内部で生成した8ビット並列のオールゼロ信号とを入力とする上位側セレクタ752と、上位側セレクタ752の出力と、データ格納メモリ740の読み出しデータ840の上位側8ビットとを加算する上位側加算部754と、エラー値831の下位側8ビットとエラー訂正部700の内部で生成した8ビット並列のオールゼロ信号とを入力とする下位側セレクタ753と、下位側セレクタ753の出力と、データ格納メモリ740の読み出しデータ840の下位側8ビットとを加算する下位側加算部755とから構成される。
上位側セレクタ752および下位側753は、デコード実行指示信号803が「デコード実行」を指示しており、かつエラーサーチ判定結果832が「エラー訂正可能」を表示し、かつエラー位置VLD信号830がエラー位置であることを示すタイミングで、エラー値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は約2分の1でよい。
図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による乗算(xα^k)を経て、加算器712−k−12に入力される。
遅延メモリ711からの入力データの下位側8ビットは、固定乗算器712−k−9による乗算(xα^(2k))を経て、セレクタ712−k−10の一入力に入力される。セレクタ712−k−10の他入力にはオールゼロ入力され、セレクタ712−k−10は、2入力の一方をフリップフロップ712−k−11に入力する。フリップフロップ712−k−11は、クロックを入力され、入力されたデータについて次のクロックで、加算器712−k−12に入力する。
遅延メモリ711からの入力データの下位側8ビットは、またセレクタ712−k−8に入力される。セレクタ712−k−8の他入力にはオールゼロ入力され、セレクタ712−k−8は、2入力の一方を加算器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は、データ入力側を選択して出力する。セレクタ712−k−8の切替と切り戻しは、遅延メモリ711からの入力データ16ビット毎に実施する。
セレクタ712−k−10は、鍵形のタイミングでは、乗算器712−k−9側を選択して出力する。一方、鍵形以外のタイミングでは、セレクタ712−k−10は、オールゼロ入力側のを選択して出力する。セレクタ712−k−10の切替と切り戻しは、遅延メモリ711からの入力データ16ビット毎に実施する。
セレクタ712−k−14は、鍵形補償情報813が計算しようとするFECフレームが上位側8ビットで終わることを示す場合は、乗算器712−k−13側を選択して出力する。一方、下位側8ビットで終わるFECフレームの計算では、セレクタ712−k−14は、スルー側を選択して出力する。セレクタ712−k−14の切替は、FECフレーム毎に、計算開始直前に実施する。鍵形のとき、セレクタ712−k−14の切替は、次のタイミング(FECコードの2番目、3番目のバイトのタイミング)の直前に実施する。
固定乗算器「xα^(2k)」712−k−5は、ガロア体の元α^(2k)とフリップフロップ712−k−4の出力との乗算を行う。固定乗算器「xα^k」712−k−7は、ガロア体の元α^kと入力データの上位側8ビットとの乗算を行う。乗算器「xα^(2k)」712−k−9は、ガロア体の元α^(2k)と入力データの下位側8ビットとの乗算を行う。乗算器「xα^(−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に入力しないのと等価である。
図27を用いて説明したエラーサーチ部の他の構成を図30を用いて説明する。ここで、図30はエラーサーチの第2の方法を説明するものである。
図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は、図14を用いて説明した8ビット用のエラー位置計算部531とエラー値計算部532とエラーサーチ解析部533とを2式備えたエラーサーチ部730Bである。なお、クロック同期は8ビット用のエラー位置計算部531と同じでよい。エラーサーチ部730Bは、FECフレーム毎にどちらを使用するかを決めて計算する。どちらを使用するかは、計算が終わっている方あるいは交互に使用するものとする。エラーサーチ部730Bは、FECフレームのパラメータ861、881を選択したエラー位置計算531、エラー値計算532に入力する。
メモリ734Bは、エラーサーチ計算完了までに一組から複数組の仮エラー位置530B−1と仮エラー値531B−1、仮エラー位置530B−2と仮エラー値531B−2を保持する。また、メモリ734Bはエラーサーチ計算完了毎に、完了した方のエラーサーチ判定結果532B−1〜2を保持する。
エラー位置VLD生成部736Bは、メモリ734Bに格納されている該当FECフレーム内の全てのエラー位置830Cを一旦保持し、エラー位置830Cに相当するFECフレーム内のデータがエラー訂正750でエラー訂正され出力されるタイミングに合わせて、エラー位置VLD信号830を上位側8ビット用と下位側8ビット用とで独立に生成し、出力する。
エラー位置VLD生成736Bは、エラー位置VLD信号830を生成するタイミングに合わせて、メモリ734から対応するエラー値831Cを読み出し、エラー値831として出力する。つまり、エラー位置VLD生成736Bは、エラー位置VLD信号830とエラー値831を、エラー訂正750でエラー訂正される2バイト毎のタイミングで出力する。
また、エラー位置VLD生成部736Bは、エラー訂正部750に於いてあるFECフレームを訂正している期間中、そのFECフレームに対するエラーサーチ判定結果をメモリ734Bから読み出し、エラーサーチ判定結果832として出力し続ける。したがってエラーサーチ判定結果832は、FECフレーム境界での鍵型の発生タイミング以外では上位側用と上位側用とで同じ値となる。鍵型の発生タイミングのときのみ異なる値をとりうる。なお、鍵形が発生しない、という前提の場合には、エラーサーチ判定結果832は上位側用、下位側用に分ける必要はなく、共通でよい。
1回のクロック周期で2バイト分のデータ位置を処理する(方法3)を図31ないし図34を参照して説明する。
図31において、エラー位置計算部731の基本ユニット737は、初期値として(α^j)^mをロードするパラメータロード型乗算器7371と、初期値としてσmをロードするフリップフロップ7373と、固定乗算器7374、7375と、2入力1出力のセレクタ7372とから構成される。固定乗算器7374の乗算値はxα^2m、固定乗算器7375の乗算値はxα^−mである。フリップフロップ7373は、次のクロックで入力値を取り込んでパラメータロード型乗算器7371とセレクタ7372の一方の入力と、固定乗算器7374に出力する。固定乗算器7374は、固定乗算の結果をフリップフロップ7373に出力する。
パラメータロード型乗算器7371は、ロードされたパラメータに基づいて乗算を行い、セレクタ7372の他入力に出力する。セレクタ7372は、2入力の一方を選択して、基本ユニット737の下位側8ビットとして、出力する。セレクタ7372の出力は、固定乗算器7375にも入力され、固定乗算器7375は、乗算結果を基本ユニット737の上位側8ビットとして、出力する。
エラー位置計算部731は、基本ユニット737を8式(m=1〜8)備える。σ(α^k)の計算は、これらの出力とσ0との総和を実行すればよい。すなわち、上位バイトのσ(α^k)の計算は、上位側8ビットを、mの1〜8の8個分と、σ0との総和を実行すればよい。同様に、下位バイトのσ(α^k)の計算は、下位側8ビットを、mの1〜8の8個分と、σ0との総和を実行すればよい。
なお、ekの計算におけるω(α^k)、σ'(α^k)も同様の方法で計算する。
図32において、エラー値計算部732の基本ユニット738は、初期値として(α^j)^mをロードするパラメータロード型乗算器7381と、初期値としてωmをロードするフリップフロップ7383と、固定乗算器7384、7385と、2入力1出力のセレクタ7382とから構成される。固定乗算器7384の乗算値はxα^2m、固定乗算器7385の乗算値はxα^−mである。なお、基本ユニット738の動作は図31と同様なので、省略する。
ω(α^k)の計算は、図32の回路をmの1〜7の7個分具備し、これらの出力とω0との総和を実行すればよい。ここで、σ(α^k)と同様に上位バイト、下位バイト独立に計算する。
図33において、エラー値計算部732の基本ユニット737Bは、初期値として(α^j)^mをロードするパラメータロード型乗算器7371Bと、初期値としてσm+1をロードするフリップフロップ7373Bと、固定乗算器7374B、7375Bと、2入力1出力のセレクタ7372Bとから構成される。固定乗算器7374Bの乗算値はxα^2m、固定乗算器7375Bの乗算値はxα^−mである。なお、基本ユニット738Bの動作は図31と同様なので、省略する。
σ'(α^k)の計算は、図33の回路をmの1〜3の3個分具備し、これらの出力とσ1との総和を実行すればよい。σ(α^k)と同様に上位バイト、下位バイト独立に計算する。
図31〜図33の基本ユニット737、738、737Bは、1回目のクロック入力直後に、上位バイト側はFECフレームの先頭1バイト目に対応した計算結果を、下位バイト側はFECフレームの2バイト目に対応した計算結果を出力する。2回目のクロック入力直後に、上位バイト側はFECフレームの3バイト目に、下位バイト側はFECフレームの4バイト目に対応した計算結果を出力する。以降同様である。
図34において、エラー値計算部732の基本ユニット739は、初期値としてα^−jをロードするパラメータロード型乗算器7391と、初期値としてα^0をロードするフリップフロップ7393と、固定乗算器7394、7395と、2入力1出力のセレクタ7392とから構成される。固定乗算器7394の乗算値はxα^−2、固定乗算器7395の乗算値はxα^1である。なお、基本ユニット739の動作は図31と同様なので、省略する。
α^−kは、図34で、上位バイト、下位バイト独立に計算する。短縮が無い場合は、1回目のクロック入力直後に、上位バイト側はα−1を、下位バイト側はα−2を出力する。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を2個用意して、各々上位バイト側、下位バイト側用として使えばよい。
図35〜図38を参照して、第4の方法である1回のクロック周期で3バイト分のデータ位置を処理する実施例を説明する。こうすることで、1回のクロック周期で2バイト分のデータ処理する方法で発生しうる鍵型事象を補償し、クロックの高周波数化を回避することができる。つまり、FECデコーダ700が受信するデータのスループットよりも高いスループットをエラーサーチ730に持たせることで、鍵型事象の扱いを容易化する。ただし、エラーサーチ730に限り、1回のクロック周期で処理する3バイト分として上位側バイト、中位側バイト、下位側バイトを定義する。FECフレームに対応する位置は、先頭側から上位側バイト、中位側バイト、下位側バイトの順である。
図35において、エラー位置計算部731の基本ユニット737は、初期値として(α^j)^mをロードするパラメータロード型乗算器7371と、初期値としてσmをロードするフリップフロップ7373と、固定乗算器7374、7375、7376と、2入力1出力のセレクタ7372とから構成される。固定乗算器7374の乗算値はxα^3m、固定乗算器7375の乗算値はxα^−m、固定乗算器7376はxα^−2mである。フリップフロップ7373は、次のクロックで入力値を取り込んでパラメータロード型乗算器7371とセレクタ7372の一方の入力と、固定乗算器7374に出力する。固定乗算器7374は、固定乗算の結果をフリップフロップ7373に出力する。
パラメータロード型乗算器7371は、ロードされたパラメータに基づいて乗算を行い、セレクタ7372の他入力に出力する。セレクタ7372は、2入力の一方を選択して、基本ユニット737の下位側8ビットとして、出力する。セレクタ7372の出力は、固定乗算器7375にも入力され、固定乗算器7375は、乗算結果を基本ユニット737の中位側8ビットとして、出力する。セレクタ7372の出力は、固定乗算器7376にも入力され、固定乗算器7376は、乗算結果を基本ユニット737の上位側8ビットとして、出力する。
σ(α^k)の計算は、図35の基本ユニット737をmの1〜8の8個分具備し、これらの出力とσ0との総和を実行すればよい。すなわち、上位バイトのσ(α^k)の計算は、上位側8ビット出力のmとしての1〜8の8個分と、σ0との総和を実行すればよい。同様に、中位バイトのσ(α^k)の計算は、中位側8ビット出力のmとしての1〜8の8個分と、σ0との総和を実行すればよい。下位バイトのσ(α^k)の計算は、下位側8ビット出力のmとしての1〜8の8個分と、σ0との総和を実行すればよい。
また、ekの計算におけるω(α^k)、σ'(α^k)も同様の方法で計算する。
図36において、エラー値計算部732の基本ユニット738は、初期値として(α^j)^mをロードするパラメータロード型乗算器7381と、初期値としてωmをロードするフリップフロップ7383と、固定乗算器7384、7385、7386と、2入力1出力のセレクタ7382とから構成される。固定乗算器7384の乗算値はxα^3m、固定乗算器7385の乗算値はxα^−m、固定乗算器7386の乗算値はxα^−2mである。なお、基本ユニット738の動作は図35と同様なので、省略する。
ω(α^k)の計算は、図36の基本ユニット738をmの1〜7の7個分具備し、これらの出力とω0との総和を実行すればよい。σ(α^k)と同様に上位バイト、中位バイト、下位バイト独立に計算する。
図37において、エラー値計算部732の基本ユニット737Bは、初期値として(α^j)^mをロードするパラメータロード型乗算器7371Bと、初期値としてσm+1をロードするフリップフロップ7373Bと、固定乗算器7374B、7375B、7376Bと、2入力1出力のセレクタ7372Bとから構成される。固定乗算器7374Bの乗算値はxα^3m、固定乗算器7375Bの乗算値はxα^−m、固定乗算器7376Bの乗算値はxα^−2mである。なお、基本ユニット738Bの動作は図35と同様なので、省略する。
σ'(α^k)の計算は、図37の基本ユニット737Bをmの1〜3の3個分具備し、これらの出力とσ1との総和を実行すればよい。σ(α^k)と同様に上位バイト、中位バイト、下位バイト独立に計算する。
図35〜図37の各基本ユニットは、1回目のクロック入力直後に、上位バイト側はFECフレームの先頭1バイト目に対応した計算結果を、中位バイト側は2バイト目に対応した計算結果を、下位バイト側は3バイト目に対応した計算結果を出力する。2回目のクロック入力直後に、上位バイト側はFECフレームの4バイト目に、中位バイト側は5バイト目に、下位バイト側は6バイト目に対応した計算結果を出力する。以降同様である。
図38において、エラー値計算部732の基本ユニット739は、初期値としてα^−jをロードするパラメータロード型乗算器7391と、初期値としてα^0をロードするフリップフロップ7393と、固定乗算器7394、7395、7396と、2入力1出力のセレクタ7392とから構成される。固定乗算器7394の乗算値はxα^−3、固定乗算器7395の乗算値はxα^1、固定乗算器7396の乗算値はxα^2である。なお、基本ユニット739の動作は図35と同様なので、省略する。
α^−kは、図38で計算する。上位バイト、中位バイト、下位バイト独立に計算する。
短縮が無い場合は、1回目のクロック入力直後に、上位バイト側はα^−1を、中位バイト側はα^−2を、下位バイト側はα^−3を出力する。2回目のクロック入力直後に、上位バイト側はα^−4を、中位バイト側はα^−5を、下位バイト側はα^−6を出力する。以降同様である。
σ'(α^k)による除算も上位バイト、中位バイト、下位バイトとで独立に実行するために、図17の逆元パラメータ580を3個用意して、各々上位バイト側、中位バイト側用、下位バイト側用として使う。なお、図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等)を選択させ、チェックビットエリアに対応したバイト位置のみ有効とする。さらに次のタイミング以降では、クロック入力を有効にして計算する。こうすることで、情報エリアとチェックビットエリアのサーチ判定位置が鍵型になっていても、鍵型のタイミングでは、情報エリアの判定のみとし、次のタイミングでは鍵型残り部分に相当するチェックビットエリアの判定のみとし、さらに次のタイミング以降続くチェックビットエリアの判定を行うことができる。つまり、鍵型タイミングを2回のタイミングに分けて計算する。
エラーサーチ730のスループットはFECフレームのスループットよりも高いので、このようにある1回の計算タイミングを2回に延ばしても、計算が間に合わなくなることはない。
Tdelay−DECに付いて、更に詳細に説明する。ここで、16ビット並列のFECデコーダのエラーサーチ部において、8ビット並列から16ビット並列にするための方法として、クロックを倍にする(方法1)、処理部の数を倍にする(方法2)、1回のクロック周期で2バイト分のデータ位置を処理する(方法3)、1回のクロック周期で3バイト分のデータ位置を処理する(方法4)を、説明した。
FECデコーダ700が受信しうるFECフレームの最大サイズをAAバイト、多項式係数計算720で発生する固定的な遅延時間または最大の遅延時間をBBクロック周期としたとき、クロック周期1個分は、FECフレーム内の2バイトを受信する時間とする。また、FECデコーダ700内でのデータの受け渡し、FECデコーダ700とその外部とのデータの受け渡し等のFECデコード計算以外の要因で発生する遅延をDDとし、数クロック周期分(例えば5周期分)である。鍵型事象でのカウント増分をFFとし、1である。しかし、方法1か方法4を用いた場合は、FFは0である。Tdelay-DECを固定値、かつCC以上のクロック周期としてデコーダを構成する。
ここで、
CC=AAx1.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は275x8ビット分を受信する時間相当であり、2.2マイクロ秒に等しい。
このように構成することで、AAバイト以下の任意のサイズで、かつそのサイズがダイナミックに増減するFECフレームを連続して受信しても、確実にエラー訂正を可能となる。もしこのように構成しなければ、受信したFECフレームのサイズがダイナミックに増加していくと、シンドローム計算710、エラーサーチ730の計算が間に合わず、サイズがAAのFECフレームに対してエラー訂正できなくなる。これは原理的には、シンドローム計算710、エラーサーチ730の計算が、FECフレームサイズ分のクロック周期の数が必要なことによる。
以上説明した実施例に拠れば、FECフレームサイズが異なっても、同じエラー訂正符号で処理可能な光集線装置および光加入者装置を提供することができる。
光アクセスネットワークのブロック図である。 OLTのブロック図である。 ONTのブロック図である。 OLTのPON送受信ブロックのブロック図である。 ONTのPON送受信ブロックのブロック図である。 OLTのPON受信部とPON送信部のブロック図である。 ONTのPON受信部とPON送信部のブロック図である。 FECコードワードの構成(シリアル8ビット)を説明する図である。 FECコードワードの構成(パラレル8ビット)を説明する図である。 FECコードワードの構成(パラレル16ビット、その1)を説明する図である。 FECコードワードの構成(パラレル16ビット、その2)を説明する図である。 FECコードワードの構成(パラレル8ビット、可変ワード長)を説明する図である。 FECコードワードの構成(パラレル16ビット、可変ワード長)を説明する図である。 パラメータロード型乗算器を説明する図である。 固定型乗算器を説明する図である。 FECデコーダのブロック図である。 シンドローム計算部のブロック図である。 多項式係数計算部のブロック図である。 エラーサーチ部のブロック図である。 エラー訂正部のブロック図である。 短縮補償パラメータテーブルを説明する図である。 逆元パラメータテーブルを説明する図である。 FECデコーダの動作タイムチャートである。 Sk計算回路のブロック図である。 エラー位置計算部の基本ユニットを説明するブロック図である。 エラー値計算部の基本ユニットを説明するブロック図(その1)である。 エラー値計算部の基本ユニットを説明するブロック図(その2)である。 エラー値計算部の基本ユニットを説明するブロック図(その3)である。 FECデコーダのブロック図である シンドローム計算部のブロック図である。 多項式係数計算部のブロック図である。 エラーサーチ部のブロック図である。 エラー訂正部のブロック図である。 Sk計算回路のブロック図である。 エラーサーチ部のブロック図である。 エラー位置計算部を説明するブロック図(そのA1)である。 エラー値計算部を説明するブロック図(そのA1)である。 エラー値計算部を説明するブロック図(そのA2)である。 エラー値計算部を説明するブロック図(そのA3)である。 エラー位置計算部を説明するブロック図(そのB1)である。 エラー値計算部を説明するブロック図(そのB1)である。 エラー値計算部を説明するブロック図(そのB2)である。 エラー値計算部を説明するブロック図(そのB3)である。
符号の説明
1…光集線装置(OLT)、2…光加入者装置(ONT)、3…スプリッタ、4…IPシステム、5…TDMシステム、6…IPネットワーク、7…TDMネットワーク、8…幹線ファイバ、9…加入者ファイバ、10…光アクセスネットワーク、71…光電変換モジュール、72…OLT PON送受信ブロック、73…イーサネット PHY、74…TDM PHY、75…MPU、76…RAM、77…制御系インターフェース、81…光電変換モジュール、82…ONT PON送受信ブロック、83…イーサネット PHY、84…TDM PHY、85…MPU、86…RAM、87…制御系インターフェース、91…PON受信部、92…受信GEM組立部、93…OLT受信テーブル、94…OLT上りイーサネットGEM終端部、95…OLT上りイーサネットインターフェース、96…OLT上りTDM GEM終端部、97…OLT上りTDMインターフェース、98…レンジング制御部、99…PON送信部、100…送信GEM組立部、101…送信GEMバッファ、102…OLT送信スケジューラ、103…OLT下りTDM GEM終端部、104…OLT下りTDMインターフェースGEM終端部、105…OLT下りイーサネットGEM終端部、106…OLT下りイーサネットインターフェース、107…MPU IF、120…ONT下りイーサネットインターフェース、121…ONT下りイーサネットGEM終端部、122…ONT下りTDMインターフェース、123…ONT下りTDM GEM終端部、124…ONT受信テーブル、125…受信GEMバッファ、126…受信GEM組立部、127…PON受信部、128…レンジング制御部、129…PON送信部、130…送信GEM組立部、131…ONT送信スケジューラ、132…送信GEMバッファ、133…ONT上りTDM GEM終端部、134…ONT上りTDMインターフェース、135…ONT上りイーサネットGEM終端部、136…ONT上りイーサネットインターフェース、137…MPU IF、500…FECデコーダ、510…シンドローム計算部、511…遅延メモリ、512…Sk計算回路、516…メモリ、517…シンドローム判定部、518…参照番地計算部、520…多項式係数計算部、521…ユークリッド互除計算部、523…メモリ、530…エラーサーチ部、531…エラー位置計算部、532…エラー値計算部、533…エラーサーチ解析部、534…メモリ、535…参照番地計算部、536…エラー位置VLD生成部、540…データ格納メモリ、550…エラー訂正部、551…セレクタ制御部、552…セレクタ、553…加算部、560…短縮補償パラメータテーブル、580…逆元パラメータテーブル、700…FECデコーダ、710…シンドローム計算部、711…遅延メモリ、712…Sk計算回路、713…S制御部、716…メモリ、717…シンドローム判定部、718…参照番地計算部、720…多項式係数計算部、721…ユークリッド互除計算部、723…メモリ、730…エラーサーチ部、731…エラー位置計算部、732…エラー値計算部、733…エラーサーチ解析部、734…メモリ、737…参照番地計算部、736…エラー位置VLD生成部、740…データ格納メモリ、750…エラー訂正部、751…セレクタ制御部、752…上位側セレクタ、753…下位側セレクタ、754…上位側加算部、755…下位側加算部、760…短縮補償パラメータテーブル、780…逆元パラメータテーブル、901…デスクランブラ、902…フレーム同期部、903…FECデコーダ、904…PONフレーム終端部、905…暗号デコーダ、991…暗号エンコーダ、992…PONフレーム生成部、993…FECエンコーダ、994…フレーム同期信号挿入部、995…スクランブラ。

Claims (2)

  1. 光集線装置を、基幹ファイバとスプリッタと複数の加入者ファイバとを介して、複数の光加入者装置のそれぞれと接続する光通信網に用いる光集線装置であって、
    前記複数の光加入者装置からの信号を受信する光電変換部と、誤り訂正復号化回路を有して、該光加入者装置のそれぞれが送信すべき信号を複数の長さの符号長から選択した長さの符号長で誤り訂正符号化して送信した符号化信号を受信して、該受信信号に誤り訂正を行なう復号化を実施する等、該受信信号の信号処理を行なうPON信号送受信部と、
    前記信号処理後の信号を上位通信システムに送信するインターフェースと、
    前記光集線装置全体を制御する制御部とを備え、
    前記PON信号送受信部の誤り訂正復号化回路は、
    前記受信信号を一時格納する第1のメモリと、
    可変長の誤り訂正符号の長さを補償する補正係数を記憶する第2のメモリと、
    前記受信信号が用いた誤り訂正符号長に応じて前記第2のメモリから読み出した補正係数を用いて該受信信号の誤りの有無を演算するシンドローム計算部と、
    前記シンドローム計算部の出力から誤り訂正の可否と、可の場合の誤り訂正用の生成多項式を演算する生成多項式演算部と、
    前記可変長の誤り訂正符号の符号化に用いるガロア体の情報である元に対応して復号化に用いる逆元を記憶する第3のメモリと、
    前記生成多項式演算部の出力と、前記受信信号が用いた誤り訂正符号長に応じて前記第2のメモリから読み出した補正係数ならびに前記第3のメモリから読み出した逆元を用いて、誤り訂正が可能な場合に該受信信号で発生した誤りの位置と内容を演算するエラーサーチ部と、
    前記第1のメモリから読み出した前記受信信号に前記エラーサーチ部の出力に基づき誤りの訂正を実施するエラー訂正部とを備え、
    複数の誤り訂正符号長の誤り訂正復号化を実行できる復号化回路である
    ことを特徴とする光集線装置。
  2. 光集線装置を、基幹ファイバとスプリッタと複数の加入者ファイバとを介して、複数の光加入者装置のそれぞれと接続する光通信網に用いる加入者装置であって、
    前記光集線装置からの信号を受信する光電変換部と、誤り訂正復号化回路を有して、該光集線装置が該光加人者装置のそれぞれに送信すべき信号を複数の長さの符号長から選択した長さの符号長で誤り訂正符号化して送信した符号化信号を受信して、該受信信号に誤り訂正を行なう復号化を実施する等、該受信信号の信号処理を行なうPON信号送受信部と、
    前記信号処理後の信号を加入者の通信システムに送信するインターフェースと、
    前記光加入者装置全体を制御する制御部とを備え、
    前記PON信号送受信部の誤り訂正復号化回路は、
    前記受信信号を一時格納する第1のメモリと、
    可変長の誤り訂正符号の長さを補償する補正係数を記憶する第2のメモリと、
    前記受信信号が用いた誤り訂正符号長に応じて前記第2のメモリから読み出した補正係数を用いて該受信信号の誤りの有無を演算するシンドローム計算部と、
    前記シンドローム計算部の出力から誤り訂正の可否と、可の場合の誤り訂正用の生成多項式を演算する生成多項式演算部と、
    前記可変長の誤り訂正符号の符号化に用いるガロア体の情報である元に対応して復号化に用いる逆元を記憶する第3のメモリと、
    前記生成多項式演算部の出力と、前記受信信号が用いた誤り訂正符号長に応じて前記第2のメモリから読み出した補正係数ならびに前記第3のメモリから読み出した逆元を用いて、誤り訂正が可能な場合に該受信信号で発生した誤りの位置と内容を演算するエラーサーチ部と、
    前記第1のメモリから読み出した前記受信信号に前記エラーサーチ部の出力に基づき誤りの訂正を実施するエラー訂正部とを備え、
    複数の誤り訂正符号長の誤り訂正復号化を実行できる復号化回路である
    ことを特徴とする光加入者装置。
JP2006336147A 2006-12-13 2006-12-13 光集線装置および光加入者装置 Expired - Fee Related JP4313391B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006336147A JP4313391B2 (ja) 2006-12-13 2006-12-13 光集線装置および光加入者装置
CN200710126850.6A CN101207456A (zh) 2006-12-13 2007-06-28 光集线装置以及光用户装置
US11/822,543 US7978972B2 (en) 2006-12-13 2007-07-06 Optical line terminal and optical network terminal

Applications Claiming Priority (1)

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

Publications (3)

Publication Number Publication Date
JP2008148245A JP2008148245A (ja) 2008-06-26
JP2008148245A5 JP2008148245A5 (ja) 2009-04-02
JP4313391B2 true JP4313391B2 (ja) 2009-08-12

Family

ID=39527378

Family Applications (1)

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

Country Status (3)

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

Families Citing this family (16)

* 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 富士通株式会社 誤り訂正処理回路および誤り訂正処理方法
CN104639919B (zh) * 2013-11-14 2017-11-03 杭州海康威视数字技术股份有限公司 用于数字视频光端机系统的数据传输方法及其系统
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 符号系列の先頭位置検出方法とその装置、それを用いた復号方法とその装置
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
US6990624B2 (en) * 2001-10-12 2006-01-24 Agere Systems Inc. High speed syndrome-based FEC encoder and decoder and system using same
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

Also Published As

Publication number Publication date
US20080145064A1 (en) 2008-06-19
US7978972B2 (en) 2011-07-12
CN101207456A (zh) 2008-06-25
JP2008148245A (ja) 2008-06-26

Similar Documents

Publication Publication Date Title
JP4313391B2 (ja) 光集線装置および光加入者装置
JP4317860B2 (ja) 光集線装置および光加入者装置
CN102891731B (zh) 64b66b编码系统的前向纠错
WO1991017503A1 (en) Forward error correction code system
EP2831999B1 (en) Parallel encoding for non-binary linear block code
CN103873071A (zh) 一种前向纠错编码、译码方法和装置、通信设备及系统
JP2022533081A (ja) データ伝送方法、符号化方法、復号方法、装置、デバイスおよび記憶媒体
WO2012136047A1 (zh) 超强前向纠错的硬件译码方法及装置
WO2011103741A1 (zh) 数据的校验处理方法及装置
US20230291502A1 (en) Data Processing Method and Related Apparatus
CN107404320B (zh) 用于进行重组解码的低密度奇偶校验解码装置及相关方法
JP4934686B2 (ja) 光アクセスシステムにおける送信信号の誤り訂正方法
CN115694739A (zh) 一种千兆以太网的数据传输装置及方法
RU2612593C1 (ru) Устройство параллельного декодирования циклических кодов на программируемых логических интегральных схемах
US9166739B2 (en) Error correction processing circuit and error correction processing method
EP2285003B1 (en) Correction of errors in a codeword
WO2007003500A1 (en) Method and apparatus for adapting data to a transport unit of a predefined size prior to transmission
JP6412785B2 (ja) データ送信装置、データ受信装置、およびデータ通信システム
Hu et al. 10Gb/s RS-BCH concatenated codec with parallel strategies for fiber communications
KR101238665B1 (ko) xGPON 시스템의 상향 및 하향 신호 오류정정 장치 및 방법
Pillai et al. Multi-user encoding for forward error correction in passive optical networks
KR20220074351A (ko) 연속적인 버스트 데이터의 처리가 가능한 순방향 오류 정정 기반의 광 전송 방법 및 장치
CN116261066A (zh) 一种数据传输方法及相关设备
JP5968577B2 (ja) 通信装置、通信システムおよび誤り訂正フレーム生成方法
KR20210060959A (ko) 고속 버스트 데이터 패킷 처리가 가능한 순방향 오류 정정 기반 송수신 장치 및 방법

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090216

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090216

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20090216

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20090310

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090421

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090514

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120522

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120522

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120522

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130522

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130522

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees