(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022024402
(43)【公開日】2022-02-09
(54)【発明の名称】光受信機、光伝送システム、光伝送方法及びプログラム
(51)【国際特許分類】
H03M 13/37 20060101AFI20220202BHJP
H04L 1/00 20060101ALI20220202BHJP
H04B 10/69 20130101ALI20220202BHJP
【FI】
H03M13/37
H04L1/00 B
H04B10/69 170
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2020126958
(22)【出願日】2020-07-28
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】000102739
【氏名又は名称】エヌ・ティ・ティ・アドバンステクノロジ株式会社
(74)【代理人】
【識別番号】110001807
【氏名又は名称】特許業務法人磯野国際特許商標事務所
(72)【発明者】
【氏名】松田 俊哉
(72)【発明者】
【氏名】中川 雅弘
(72)【発明者】
【氏名】益本 佳奈
(72)【発明者】
【氏名】山田 義朗
(72)【発明者】
【氏名】和田 朋之
(72)【発明者】
【氏名】片山 勝
【テーマコード(参考)】
5J065
5K014
5K102
【Fターム(参考)】
5J065AB01
5J065AC02
5J065AD03
5J065AE06
5K014BA05
5K102AA52
5K102PH01
5K102PH31
5K102RD28
(57)【要約】
【課題】スクランブラとデスクランブラ間において発生したデータのビット誤りから生じるデスクランブル後の波及ビット誤りを訂正することで、デスクランブラ後に実行される誤り訂正が本来の性能を発揮することを可能とする。
【解決手段】光受信機30は、フレーマ部32と、バッファ部33と、誤り訂正復号部34と、後段誤り訂正復号部35とを備える。フレーマ部32は、光伝送路1を介して受信され、スクランブルが施された複数のデータから成るブロックデータD3aにデスクランブルを行う。バッファ部33は、デスクランブルのブロックデータD1aを保持する。誤り訂正復号部34は、上記保持ブロックデータD1aに誤り訂正を行って復号する。後段誤り訂正復号部35は、上記復号ブロックデータD4から、後方側のブロックデータに波及するビット誤り位置を基に、バッファ部33に保持された後方側のブロックデータの波及ビット誤りを訂正する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
誤り訂正符号に応じて符号化された複数のデータに、代数演算によるスクランブルが施された複数のデータから成るブロックデータが光伝送路を介して受信された後に、受信されたブロックデータに当該スクランブルを代数演算により解除するデスクランブルを行うフレーマ部と、
前記デスクランブルが行われたブロックデータを保持するバッファ部と、
前記保持されたブロックデータを、誤り訂正を行って復号する誤り訂正復号部と、
前記復号されたブロックデータから、当該ブロックデータのビット誤りが、後方側のブロックデータに波及するビット誤り位置を求め、当該ビット誤り位置を基に、前記バッファ部に保持された前記後方側のブロックデータの波及ビット誤りを訂正して復号する後段誤り訂正復号部と
を備えることを特徴とする光受信機。
【請求項2】
誤り訂正符号に応じて符号化された複数のデータに、代数演算によるスクランブルが施された複数のデータから成るブロックデータを光伝送路へ送信する光送信機と、請求項1に記載の光受信機と
を備えることを特徴とする光伝送システム。
【請求項3】
k(k:誤り訂正可能な数値)ビット誤り訂正可能な符号長nの誤り訂正符号を用いて符号化された複数のブロックデータを記憶する記憶部と、
前記記憶されたブロックデータに対して、生成多項式X=1+Xm(1)+…+Xm(M){但し、mは何ビット前のビットデータを使用中かを表し、Xm(i),(i又はj=整数)は、ブロックデータのビットに対してm(i)ビット前のビットデータであるm(i)<m(j),(i<j)を表す}を用いたスクランブルを施した後、ヘッダ情報を付与してフレームを構成する第1フレーマ部と
を有する光送信機を備え、
前記第1フレーマ部によりスクランブルが施された複数のデータから成るブロックデータが光伝送路を介して受信された後に、受信されたブロックデータに当該スクランブルを生成多項式により解除するデスクランブルを行う第2フレーマ部と、
前記デスクランブルが行われたブロックデータを保持するバッファ部と、
前記保持されたブロックデータを、誤り訂正を行って復号する誤り訂正復号部と、
前記復号されたブロックデータから、当該ブロックデータのビット誤りが、後方側のブロックデータに波及する波及ビット誤りを訂正して復号する後段誤り訂正復号部と
を有する光受信機を備え、
前記後段誤り訂正復号部は、前記光伝送路又は光受信機の受信側で発生したビット誤りが、1つのブロックデータ内でk+1ビット以上発生する確率が十分に低い場合に、符号長n及びスクランブルの生成多項式をn<m(1)に設定し、前記誤り訂正復号部においてブロックデータ内でkビット以下のビット誤りが訂正された場合、訂正したビットの位置とスクランブルを解除するデスクランブルの生成多項式とから導出される後方側のブロックデータ内のビット誤り波及位置を記憶し、前記バッファ部に保持された前記後方側のブロックデータ内における前記記憶されたビット誤り波及位置のビットデータを、反転して誤り訂正復号を行う
ことを特徴とする光伝送システム。
【請求項4】
k(k:誤り訂正可能な数値)ビット誤り訂正可能な符号長nの誤り訂正符号を用いて符号化された複数のブロックデータを記憶する記憶部と、
前記記憶されたブロックデータに対して、生成多項式X=1+Xm(1)+Xm(2){但し、Xm(i)はブロックデータの対象ビットに対してm(i)ビット前のビットデータであるm(1)<m(2)を表す}を用いたスクランブルを施した後、ヘッダ情報を付与してフレームを構成する第1フレーマ部と
を有する光送信機を備え、
前記第1フレーマ部によりスクランブルが施された複数のデータから成るブロックデータが光伝送路を介して受信された後に、受信されたブロックデータに当該スクランブルを生成多項式により解除するデスクランブルを行う第2フレーマ部と、
前記デスクランブルが行われたブロックデータを保持する第1バッファ部と、
前記保持されたブロックデータを、誤り訂正を行って復号する誤り訂正復号部と、
前記復号されたブロックデータを保持する第2バッファ部と、
前記復号されたブロックデータから、当該ブロックデータのビット誤りが、後方側のブロックデータに波及する波及ビット誤りを訂正して復号する後段誤り訂正復号部と
を有する光受信機を備え、
前記後段誤り訂正復号部は、前記光伝送路又は光受信機の受信側で発生したビット誤りが、1つのブロックデータ内でk+1ビット以上発生する確率が十分に低い場合に、符号長n及びスクランブル生成多項式をm(M0-1)≦n<m(M0)<m(M)に設定し、前記誤り訂正復号部で前記特定誤り訂正が行われた場合、誤り訂正数がk以下となって誤り訂正が成功したパターンのデータに対して、誤り訂正ビット位置から第1波及ビット誤り位置を求め、次の後方側ブロック以降に波及ビット誤りがある場合は、この第2波及ビット誤り位置を求めた後、前記バッファ部に保持されたブロックデータにおいて、前記第1及び第2波及ビット誤り位置の波及ビット誤りを訂正し、次の後方側ブロックの誤り判定に移行する
ことを特徴とする光伝送システム。
【請求項5】
1ビット誤り訂正及び2ビット誤り検出可能な符号長nの誤り訂正符号を用いて符号化された複数のブロックデータを記憶する記憶部と、
前記記憶されたブロックデータに対して、生成多項式X=1+Xm(1)+Xm(2){但し、Xm(i)はブロックデータの対象ビットに対してm(i)ビット前のビットデータであるm(1)<m(2)を表す}を用いたスクランブルを施した後、ヘッダ情報を付与してフレームを構成する第1フレーマ部と
を有する光送信機を備え、
前記第1フレーマ部によりスクランブルが施された複数のデータから成るブロックデータが光伝送路を介して受信された後に、受信されたブロックデータに当該スクランブルを生成多項式により解除するデスクランブルを行う第2フレーマ部と、
前記デスクランブルが行われたブロックデータを保持する第1バッファ部と、
前記保持されたブロックデータを、誤り訂正を行って復号する誤り訂正復号部と、
前記復号されたブロックデータを保持する第2バッファ部と、
前記復号されたブロックデータから、当該ブロックデータのビット誤りが、後方側のブロックデータに波及する波及ビット誤りを訂正して復号する後段誤り訂正復号部と
を有する光受信機を備え、
前記誤り訂正復号部は、初期状態のフラグを0に設定し、ブロックデータに対してpビット目である{m(1)+1≦p≦n+m(1)-m(2)}ビット目及び、{p+m(2)-m(1)}ビット目を反転したブロックデータ並びに、ビット反転を行わない合計(n-m(2)+1)個のブロックデータの誤り判定を行い、
前記誤り訂正の結果が、ブロックデータ内にビット誤り数が1以下のパターンが存在し、且つフラグが0であれば、前記誤り訂正復号部は、当該パターンのブロックデータに対して誤り訂正を行い、前記後段誤り訂正復号部は、当該誤り訂正を行ったビット誤り位置から後方側ブロックデータへの波及ビット誤り位置を求め、この位置に応じて前記第1バッファ部内の該当後方側ブロックデータ内の波及ビット誤りを訂正し、
前記誤り訂正の結果が、ビット誤り数が1以下のパターンが存在し、且つフラグが1である第2判定結果であれば、前記誤り訂正復号部は、当該パターンのブロックに対して誤り訂正を行い、前記後段誤り訂正復号部は、当該誤り訂正を行ったビット誤り位置から前方側ブロックデータのビット誤り位置を求め、この位置に応じて前記第2バッファ部内の該当前方側ブロックデータの波及ビット誤りを訂正し、
前記誤り訂正の結果が、ブロックデータ内のビット誤り数の最小値が2であれば、前記誤り訂正復号部は、フラグを1に設定する
ことを特徴とする光伝送システム。
【請求項6】
光受信機は、
誤り訂正符号に応じて符号化された複数のデータに、代数演算によるスクランブルが施された複数のデータから成るブロックデータが光伝送路を介して受信された後に、受信されたブロックデータに当該スクランブルを代数演算により解除するデスクランブルを行うステップと、
前記デスクランブルが行われたブロックデータを保持するステップと、
前記保持されたブロックデータを、誤り訂正を行って復号するステップと、
前記復号されたブロックデータから、当該ブロックデータのビット誤りが、後方側のブロックデータに波及するビット誤り位置を求め、この求められたビット誤り位置を基に、バッファ部に保持された前記後方側のブロックデータの波及ビット誤りを、誤り訂正するステップと
を実行することを特徴とする光伝送方法。
【請求項7】
コンピュータを、請求項1に記載の光受信機として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異なるコンピュータの記憶装置間でデータ転送を行い、特に光ファイバと光増幅器から成る光伝送路で接続され、遠隔地に離間するコンピュータ間で光伝送によるデータ転送を行う光受信機、光伝送システム、光伝送方法及びプログラムに関する。
【背景技術】
【0002】
データセンタの急速なトラフィック増大を背景に、データセンタ間を接続する大容量伝送システムが求められている。従来は専用の波長多重分離(WDM)伝送システムを用いるのが一般であった。
【0003】
データセンタ内のサーバやルータから出力されるイーサネット(登録商標)やSDH(synchronous digital hierarchy)等の伝送規格の光信号は、数百kmや数千kmの長距離伝送時に発生するデータ誤りを訂正するために、誤り訂正符号(ECC)を含めて次のように伝送されている。即ち、光信号は、WDM伝送装置のトランスポンダに収容され、ECCを含む信号のフレームにマッピングされた後、WDM信号として伝送されている。
【0004】
データセンタ内の記憶装置の一部は、信頼性向上のためECC機能が用いられる(非特許文献1,2)。数十km等の比較的短距離の光伝送路で発生するビット誤りが小さい場合は、ECCで符号化されたデータを直接伝送することで、従来の伝送装置で用いられていた誤り訂正が不要となり、伝送装置の簡易化が期待される。
【先行技術文献】
【特許文献】
【0005】
【非特許文献】
【0006】
【非特許文献1】B. Schroeder et al., “DRAM Errors in the Wild: A Large-Scale Field Study,” in Proceedings of the 11th Internation Joint Conference on Measurement and Modeling of Computer Systems (SIGMETRICS), Seattle, WA, June, 2009.
【非特許文献2】W. Liu et al., “Low-Power High-Throughput BCH Error Correction VLSI Design for Multi-Level Cell NAND Flash Memories,” IEEE Workshop on Signal Processing Systems (SIPS), pp. 248-253,(2006).
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述した光伝送では、デジタル信号(データ)を伝送する際、受信側において受信信号からクロック信号を安定的に抽出する処理が行われている。この処理は、データの「0」や「1」が極端に長く連続しないように、送信側のスクランブラでデータにスクランブルをかけ、受信側のデスクランブラでスクランブルを解除(デスクランブル)することが一般的に行われている。
【0008】
データのスクランブル信号及びデスクランブル信号は、数ビット前の信号の情報を用いた生成多項式により決定される。しかし、スクランブラとデスクランブラ間においてデータにビット誤りが発生した際に、デスクランブルを行うと、例え1ビットのビット誤りであっても、ビット誤りが他のビットに波及する。この波及によりビット誤りが増加するため、誤り訂正後のビット誤り率が高くなる課題があった。
本発明は、このような事情に鑑みてなされたものであり、スクランブラとデスクランブラ間において発生したデータのビット誤りから生じるデスクランブル後の波及ビット誤りを訂正することで、デスクランブラ後に実行される誤り訂正が本来の性能を発揮することを可能とする光受信機、光伝送システム、光伝送方法及びプログラムを提供することを課題とする。
【課題を解決するための手段】
【0009】
上記課題を解決するための手段として、請求項1に係る発明は、誤り訂正符号に応じて符号化された複数のデータに、代数演算によるスクランブルが施された複数のデータから成るブロックデータが光伝送路を介して受信された後に、受信されたブロックデータに当該スクランブルを代数演算により解除するデスクランブルを行うフレーマ部と、前記デスクランブルが行われたブロックデータを保持するバッファ部と、前記保持されたブロックデータを、誤り訂正を行って復号する誤り訂正復号部と、前記復号されたブロックデータから、当該ブロックデータのビット誤りが、後方側のブロックデータに波及するビット誤り位置を求め、当該ビット誤り位置を基に、前記バッファ部に保持された前記後方側のブロックデータの波及ビット誤りを訂正して復号する後段誤り訂正復号部とを備えることを特徴とする光受信機である。
【発明の効果】
【0010】
本発明によれば、スクランブラとデスクランブラ間において発生したデータのビット誤りから生じるデスクランブル後の波及ビット誤りを訂正することで、デスクランブラ後に実行される誤り訂正が本来の性能を発揮することを可能にできる。
【図面の簡単な説明】
【0011】
【
図1】本発明の第1実施形態に係る光伝送システムの構成を示すブロック図である。
【
図2】第1実施形態に係る光伝送システムの動作を説明するためのフローチャートである。
【
図3】第2実施形態に係る光伝送システムにおいて、デスクランブル時における符号化ブロック内のビット誤りの波及を説明するブロック図である。
【
図4】第2実施形態に係る光伝送システムにおいて、符号化ブロック内のビット誤り及び波及ビット誤りを説明するブロック図である。
【
図5】第3実施形態に係る光伝送システムにおいて、デスクランブル時における符号化ブロック内のビット誤りの波及を説明するブロック図である。
【
図6】第3実施形態に係る光伝送システムにおいて、符号化ブロック内のビット誤り及び波及ビット誤りを説明するブロック図である。
【
図7】本発明の第4実施形態に係る光伝送システムの構成を示すブロック図である。
【
図8】第4実施形態に係る光伝送システムにおいて、符号化ブロック内のビット誤り及び波及ビット誤りを説明するブロック図である。
【
図9】第4実施形態に対応する光伝送システムの実験構成を示すブロック図である。
【
図10】実験結果を示す受信光パワーとビット誤り率との関係を示すグラフである。
【
図11】実験結果を示す誤り訂正前ビット誤り率と、誤り訂正後ビット誤り率との関係を示すグラフである。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態を、図面を参照して説明する。但し、本明細書の全図において機能が対応する構成部分には同一符号を付し、その説明を適宜省略する。
<第1実施形態の構成>
図1は、本発明の第1実施形態に係る光伝送システムの構成を示すブロック図である。
【0013】
図1に示す光伝送システム(システムともいう)10は、互いに離間する光送信機20と光受信機30とが、光ファイバや光増幅器等による光伝送路1で接続されて構成されている。
【0014】
光送信機20は、記憶部21と、フレーマ部22と、E/O(Electrical/Optical)変換部23とを備えて構成されている。
【0015】
光受信機30は、O/E(Optical/Electrical)変換部31と、フレーマ部32と、バッファ部33と、誤り訂正復号部34と、後段誤り訂正復号部35と、記憶部36とを備えて構成されている。
【0016】
光送信機20において、記憶部21は、任意の誤り訂正符号を用いて、後述するリード・ソロモン符号やハミング符号等に符号化された複数のブロックデータ(符号化ブロック又はブロックともいう)が記憶されている。この記憶部21からは、誤り訂正符号の長さで符号化されたブロックデータD1がフレーマ部22へ出力される。ブロックデータD1は、複数のデータが時系列順に配列されたものである。
【0017】
但し、ブロックデータは、ある一定の長さ(ブロックサイズ)のビットデータ又はバイトデータの並びである。
【0018】
フレーマ部22は、ブロックデータD1に代数演算(生成多項式による演算)を用いたスクランブルを施した後、ヘッダ情報を付与してイーサネット(登録商標)やSDH等の伝送規格である信号のフレームを生成する。このフレーマ部22はスクランブラを備え、スクランブラによって、ブロックデータD1の「0」と「1」を疑似ランダム化し、「0」や「1」が連続しないようなスクランブルによる符号化を行う。このスクランブル符号化されたブロックデータD2をE/O変換部23へ出力する。
【0019】
E/O変換部23は、ブロックデータD2を含む電気信号を、光信号のブロックデータD3に変換して出力する。このブロックデータD3を含む光信号は、光伝送路1を介して光受信機30へ伝送される。
【0020】
ここで、第1実施形態では、ブロックデータの受信において、過去側の受信ブロックを前方側(又は前段)のブロック、現在側の受信ブロックを後方側(又は後段)のブロックと定義する。
【0021】
光受信機30において、O/E変換部31は、光送信機20から受信されたブロックデータD3aを含む光信号を、電気信号のブロックデータD2aに変換してフレーマ部32に出力する。
【0022】
フレーマ部32は、電気信号のブロックデータD2aからフレームを識別し、この識別したフレームからヘッダを取り除いた後、ブロックデータD2aのスクランブルを、代数演算(生成多項式による演算)を用いて解除(デスクランブル)する。このデスクランブルされた符号化のブロックデータD1aは、バッファ部33へ出力される。
【0023】
バッファ部33は、符号化されたブロックデータD1aを一時的に保持し、誤り訂正復号部34へ出力する。
【0024】
誤り訂正復号部34は、符号化されたブロックデータD1aを、誤り訂正を行って復号する。この復号されたブロックデータD4は、後段誤り訂正復号部35へ出力されると共に、記憶部36に記憶される。
【0025】
後段誤り訂正復号部35は、誤り訂正された復号後のブロックデータD4を用いて次のような誤り訂正を行う。即ち、光伝送路1やO/E変換部31でブロック内にデータのビット誤りが生じた場合、フレーマ部22でのデスクランブルの際にビット誤りが生じたブロックよりも後方側のブロックにおいて、そのビット誤りが複数のデータに波及するケースがある。
【0026】
後段誤り訂正復号部35は、誤り訂正復号部34の訂正結果であるブロックデータD4から、後方側のブロックに波及するビット誤り位置を算出する。このビット誤り位置を基に、バッファ部33に既に保持されている後方側のブロックデータの波及ビット誤りを、誤り訂正する処理を行う。
【0027】
この処理を詳細に説明する。誤り訂正復号部34がブロックデータD1aからビット誤りを検出した際に、後段誤り訂正復号部35は、そのビット誤り位置と、スクランブルを解除する多項式によるデスクランブルの位置とから、後方側のブロック内のビット誤り波及位置を計算する。この計算により、後方側の何れのブロックのビット位置にビット誤りが波及したか否かが分かるので、バッファ部33に既に保持された、そのビット誤り位置のデータに対して誤り訂正を次のように行う。即ち、バッファ部33内のビット誤り波及位置のビットを反転した後、誤り訂正復号を行う。
【0028】
上記のように、デスクランブルにより生じる波及ビット誤りの波及位置は、ビット誤りの位置が特定できれば、スクランブル及びデスクランブルの生成多項式から計算により一意に特定できる。
【0029】
ところで、データ伝送に要求される信号品質は、一般にビット誤り率が10-12程度に誤り訂正が行える必要性がある。誤り訂正符号では、訂正前と訂正後の双方のビット誤り率の関係が一意に決まるため、その双方の誤り訂正符号が適用可能なビット幅の領域も自ずと定まる。
【0030】
例えば、誤り訂正後のビット誤り率が10-12以下となるためには、第1実施形態の光伝送システム10のようなデータ伝送装置等で用いられるリード・ソロモン符号(255,239)の場合、誤り訂正前のビット誤り率が1.8×10-4以下となる必要があり、DRAM等で用いられるハミング符号(72,64)の場合、誤り訂正前のビット誤り率が10-7以下となる必要がある。
【0031】
但し、リード・ソロモン符号(255,239)は、前側の数値(255)が全体のビット数(255ビット)であり、後側の数値(239)が実際に送るデータのビット長(239ビット)である。つまり、239ビットのデータを符号化して255ビットのデータを生成して送信する。
【0032】
ハミング符号は、データの伝送時に付加し、誤りを検知・訂正できる誤り訂正符号の一つである。通常、ハミング符号はブロック内に1つ存在する。
【0033】
また、誤り訂正前の符号化ブロックにビット誤りが含まれる確率は、符号化ブロック内のビット誤り数が訂正可能な数を超える確率、言い換えれば、誤り訂正が不可能な確率と等価である。従って、誤り訂正による誤り訂正後に十分な信号品質が得られる条件では、符号化ブロック内のビット誤り数が訂正可能なビット数k+1以上となる確率が十分に低くなる。言い換えれば、誤り訂正前にデータに含まれるビット誤りの数は、誤り訂正が可能な数以内であり、誤り訂正が不可能な数となることは殆どない。
【0034】
<第1実施形態の動作>
次に、第1実施形態に係る光伝送システム10の動作を、
図2のフローチャートを参照して説明する。
【0035】
図2に示すステップS1において、光送信機20の記憶部21には、任意の誤り訂正符号を用いて符号化された複数のブロックデータが記憶されている。この記憶部21からは、誤り訂正符号の長さで符号化され、複数のデータが時系列順に配列されたブロックデータ(ブロック)D1がフレーマ部22へ出力される。
【0036】
ステップS2において、フレーマ部22は、ブロックD1にスクランブラを施した後、ヘッダ情報を付与して信号のフレームを生成する。このスクランブル符号化されたブロックD2をE/O変換部23へ出力する。
【0037】
ステップS3において、E/O変換部23は、ブロックD2を含む電気信号を、光信号のブロックD3に変換し、ブロックD3を含む光信号を光伝送路1を介して光受信機30へ伝送する。
【0038】
ステップS4において、光受信機30のO/E変換部31は、光送信機20から受信したブロックD3aを含む光信号を、電気信号のブロックD2aに変換してフレーマ部32に出力する。
【0039】
ステップS5において、フレーマ部32は、電気信号のブロックD2aからフレームを識別し、この識別したフレームからヘッダを取り除いた後、ブロックD2aのスクランブルをデスクランブル(解除)する。このデスクランブルされた符号化のブロックD1aは、バッファ部33へ出力される。
【0040】
ステップS6において、バッファ部33は、符号化されたブロックD1aを一時的に保持し、誤り訂正復号部34へ出力する。
【0041】
ステップS7において、誤り訂正復号部34は、符号化されたブロックD1aを、誤り訂正を行って復号する。この復号されたブロックD4は、後段誤り訂正復号部35へ出力されると共に、記憶部36に記憶される。
【0042】
ステップS8において、後段誤り訂正復号部35は、誤り訂正復号部34の訂正結果であるブロックD4から、後方側のブロックに波及するビット誤り位置を算出する。このビット誤り位置を基に、バッファ部33に既に保持されている後方側のブロックの波及ビット誤りを、誤り訂正する処理を行う。この処理は、後段誤り訂正復号部35が、バッファ部33内のビット誤り波及位置のビットを反転した後、誤り訂正復号を行う。この誤り訂正されたブロックは記憶部36に記憶される。
【0043】
<第1実施形態の効果>
第1実施形態に係る光伝送システム10の光受信機30の効果について説明する。
【0044】
光受信機30は、少なくとも、フレーマ部32と、バッファ部33と、誤り訂正復号部34と、後段誤り訂正復号部35とを備える。
【0045】
フレーマ部32は、誤り訂正符号に応じて符号化された複数のデータに、代数演算によるスクランブルが施された複数のデータから成るブロックデータD3aが光伝送路1を介して受信された後に、受信されたブロックデータD3aに当該スクランブルを代数演算により解除するデスクランブルを行う。
【0046】
バッファ部33は、デスクランブルが行われたブロックデータD1aを保持する。
誤り訂正復号部34は、上記保持されたブロックデータD1aを、誤り訂正を行って復号する。
後段誤り訂正復号部35は、上記復号されたブロックデータD4から、当該ブロックデータD4のビット誤りが、後方側のブロックデータに波及するビット誤り位置を求め、この求められたビット誤り位置を基に、バッファ部33に保持された後方側のブロックデータの波及ビット誤りを、誤り訂正する構成とした。
【0047】
この構成によれば、スクランブラとデスクランブラ間においてデータにビット誤りが発生した際に、ビット誤りが他のビットに波及する波及ビット誤りを訂正できる。このため、上記データの波及ビット誤りを含むビット誤りを、デスクランブル時にビット誤り率が低くなるように誤り訂正できる。つまり、スクランブラとデスクランブラ間において発生したデータのビット誤りから生じるデスクランブル後の波及ビット誤りを訂正することで、デスクランブラ後に実行される誤り訂正が本来の性能を発揮することを可能にできる。
【0048】
また、第1実施形態の光伝送システム10は、誤り訂正符号に応じて符号化された複数のデータに、代数演算によるスクランブルが施された複数のデータから成るブロックデータを光伝送路1へ送信する光送信機20と、上述の光受信機30とを備えることを特徴とする。
【0049】
この構成によれば、光伝送システム10において、誤り訂正符号に応じて符号化された複数のデータに、代数演算によるスクランブルが施された複数のデータから成るブロックデータを、光送信機20から光伝送路1へ送信する。光受信機30で、光伝送路1からブロックデータD3aを受信し、上述の光受信機30の効果で説明したと同様の効果を得ることができる。
【0050】
<第2実施形態の構成>
次に、本発明の第2実施形態に係る光伝送システムが、第1実施形態の光伝送システム10と異なる点は、
図1に示す記憶部21の記憶データと、フレーマ部22の処理と、後段誤り訂正復号部35の処理とを次のようにした点にある。
【0051】
記憶部21は、kビット誤り訂正可能な符号長nの誤り訂正符号を用いて符号化された複数のブロックデータを記憶する。但し、kは、誤り訂正可能な数値であり、10-7等のハミング符号や、リード・ソロモン符号等である。
【0052】
フレーマ部(第1フレーマ部)22は、第1実施形態と同様にフレームを生成し、各ビットに対してスクランブルを行う。更に、フレーマ部22は、記憶部21に記憶されたブロックデータに対して、生成多項式X=1+Xm(1)+…+Xm(M){但し、Xm(i)はブロックデータD1(
図1)の対象ビットに対してm(i)ビット前のビットデータであるm(i)<m(j),(i<j)とする}を用いたスクランブルを施した後、ヘッダ情報を付与してフレームを構成する。
【0053】
但し、iは整数であり、i=1~Mを示す。mは、実際に何ビット前(前方側)のデータを使っているかを表す。生成多項式で使うビット目が、1ビット目はm(1)ビット目、2ビット目は前方側へm(2)ビット目、Mビット目は前方側へm(M)ビット目を生成多項式で使っている。
【0054】
後段誤り訂正復号部35は次の処理を行う。まず、光伝送路1又は光受信機30のO/E変換部31等の受信側で発生したビット誤りが、1つのブロック内でk+1ビット以上発生する確率が十分に低いとする。この条件の場合、後段誤り訂正復号部35は、符号長n及びスクランブル生成多項式をn<m(1)に設定する。
【0055】
この設定後に、誤り訂正復号部34においてブロック内でkビット以下のビット誤りを訂正した場合は、後段誤り訂正復号部35は、その訂正したビットの位置とスクランブルを解除(デスクランブル)する生成多項式とから導出される後方側のブロック内のビット誤り波及位置を記憶する。更に、後段誤り訂正復号部35は、後段のブロックを復号する場合、その記憶されたビット誤り波及位置のビットを反転した後、誤り訂正復号を行う。
【0056】
図3の上から1段目に、光受信機30のフレーマ部(第2フレーマ部)32に入力される受信データD2a(
図1)を示し、先に受信された前方側の符号化ブロックj-1と、これに連続する後方側の符号化ブロックjとを示す。ブロックj-1は、前方側に向かう先頭のビットデータX
j-1,0から、後方側の末尾のビットデータX
j-1,n-1までの複数ビットのデータを有する。ブロックjは、先頭のビットデータX
j,0から、末尾のビットデータX
j,n-1までの複数ビットのデータを有する。
【0057】
ここで、n<m(1)の関係から、
図3に示すように、前方側のブロックj-1内の任意のビットは、デスクランブルにより、同一ブロックj-1内の他のビットの影響を受けない。従って、ブロックj-1におけるビット誤り数はk以下となり、誤り訂正符号による誤り訂正が可能となる。
【0058】
図3に示すブロックj-1内のm(1)ビットや、m(2)ビットの位置は、光送信機20のフレーマ部22のスクランブラによって決まっている。デスクランブルは、その逆を行えばよい。
【0059】
上記スクランブラでは、ブロックの各ビットに対してスクランブルを行う。例えば、m(1)ビット前のデータと、m(2)ビット前のデータとを用いて新しいビットを生成するスクランブルを行う。デスクランブルは、その逆を行えばよい。
【0060】
図3に示すブロックj-1におけるm(2)ビット前のビットデータX
j-1,2n-m(2)-1はEXOR(排他的論理和回路)32a,32bを介し、m(1)ビット前のビットデータX
j-1,2n-m(1)-1はEXOR32bを介して、後方側のブロックjの末尾のビットデータX
j,n-1が出力されるEXOR32cに出力される。
【0061】
更に説明すると、ブロックj-1の各ビットデータXj-1,2n-m(2)-1,Xj-1,2n-m(1)-1は、十分に離間した後方側のブロックjのビットデータに出力するように設定してある。この設定によって、各ビットデータXj-1,2n-m(2)-1,Xj-1,2n-m(1)-1内のビット誤りをデスクランブル時に、誤りの波及無しに誤り訂正できる。更に説明すれば、データの誤りは、この誤りが存在するブロックのデータには波及(影響)しないので、必ず訂正できる。
【0062】
そのデスクランブルは、フレーマ部32によって行われる。
図3の2段目に示すデスクランブル後の受信データD1a(
図1)を、Xの右側に「‘」を付けて示す。即ち、ブロックj-1は、先頭のビットデータX‘
j-1,0から末尾のビットデータX‘
j-1,n-1までのデスクランブルされた複数ビットのデータを有する。ブロックjは、先頭のビットデータX‘
j,0から末尾のビットデータX‘
j,n-1までのデスクランブルされた複数ビットのデータを有する。その末尾のビットデータX‘
j,n-1は、EXOR32cからのデスクランブル後のデータであることを示す。
【0063】
次に、
図4の1段目に、フレーマ部32に入力される受信データD2aを示し、先に受信された前方側の符号化ブロックj(
図3参照)と、これに連続する後方側の符号化ブロックj+1とを示す。ブロックjは、先頭のビットデータX
j,0から、末尾のビットデータX
j,n-1までの複数ビットのデータを有する。ブロックj+1は、先頭のビットデータX
j+1,0から、末尾のビットデータX
j+1,n-1までの複数ビットのデータを有する。但し、ブロックjには、末尾のビットデータX
j,n-1の前方側に、誤りが生じたビットデータX
j,dを含む。
【0064】
図4の2段目に、フレーマ部32によるデスクランブル後の受信データD1a(
図1)を、Xの右側に「‘」を付けて示す。ブロックjは、先頭のビットデータX‘
j,0から末尾のビットデータX‘
j,n-1までのデスクランブルされた複数ビットのデータを有する。ブロックj+1は、先頭のビットデータX‘
j+1,0から末尾のビットデータX‘
j+1,n-1までのデスクランブルされた複数ビットのデータを有する。
【0065】
また、ブロックjには、末尾のビットデータX‘j,n-1の前方側に、誤りが生じたビットデータX‘j,dを含む。ブロックj+1には、先頭のビットデータX‘j+1,0から末尾のビットデータX‘j+1,n-1間に、波及誤りが生じたビットデータX‘j+1,m(2)-n+d,X‘j+1,m(1)-n+dを含む。
【0066】
1段目に示すブロックj内の誤りビットデータX‘j,dはEXOR32dに出力され、この位置から、EXOR32eを介して十分に離間した後方側のブロックj+1のビットデータXj+1,m(1)-n+d-1が出力されるEXOR32fに出力される。このEXOR32fからデスクランブルされた波及誤りビットデータX‘j+1,m(1)-n+d(2段目)が出力される。
【0067】
また、1段目に示すブロックj内の誤りビットデータX‘j,dは、EXOR32gに出力され、この位置から、十分に離間した後方側のブロックj+1のビットデータXj+1,m(2)-n+dが出力されるEXOR32hに出力される。このEXOR32hからデスクランブルされた波及誤りビットデータX‘j+1,m(2)-n+d(2段目)が出力される。
【0068】
図4の3段目に、誤り訂正復号部34による誤り訂正後に、後段誤り訂正復号部35によりビット誤り波及位置のビットを反転して誤り訂正されたバッファ部33内の受信データ
~D1aを、Xの左側に「
~」を付けて示す。この誤り訂正されたビットデータは、ブロックj内ではビットデータ
~X‘
j,dであり、ブロックj+1内では、ビットデータ
~X‘
j+1,m(2)-n+d,
~X‘
j+1,m(1)-n+dである。
【0069】
更に説明する。誤り訂正復号部34よって、バッファ部33から出力されるデスクランブル後の受信データD1aの誤りビットデータX‘j,dを誤り訂正する。次に、後段誤り訂正復号部35によって、その訂正したビットの位置とデスクランブルする生成多項式とから、後方側のブロックJ+1内のビット誤り波及位置を導出する。更に、後段誤り訂正復号部35は、その導出されたビット誤り波及位置に基づき、バッファ部33内に保持された後方側のブロックJ+1の波及ビット誤りのデータを反転した後、誤り訂正復号を行う。
【0070】
<第2実施形態の効果>
第2実施形態に係る光伝送システムの効果について説明する。光伝送システムは、光送信機20と光受信機30とを備える。
【0071】
光送信機20は、記憶部21とフレーマ部22とを備える。
【0072】
記憶部21は、k(k:誤り訂正可能な数値)ビット誤り訂正可能な符号長nの誤り訂正符号を用いて符号化された複数のブロックデータを記憶する。
【0073】
フレーマ部22は、その記憶されたブロックデータに対して、生成多項式X=1+Xm(1)+…+Xm(M){但し、mは何ビット前のビットデータを使用中かを表し、Xm(i),(i=整数の1~M)は、ブロックデータのビットに対してm(i)ビット前のビットデータであるm(i)<m(j),(i<j)を表す}を用いたスクランブルを施した後、ヘッダ情報を付与してフレームを構成する。
【0074】
光受信機30は、フレーマ部32と、バッファ部33と、誤り訂正復号部34と、後段誤り訂正復号部35とを備える。
【0075】
フレーマ部32は、光送信機20のフレーマ部22によりスクランブルが施された複数のデータから成るブロックデータが光伝送路1を介して受信された後に、受信されたブロックデータに当該スクランブルを生成多項式により解除するデスクランブルを行う。
【0076】
バッファ部33は、デスクランブルが行われたブロックデータを保持する。
誤り訂正復号部34は、その保持されたブロックデータを、誤り訂正を行って復号する。
【0077】
後段誤り訂正復号部35は、次の処理を行う。即ち、光伝送路1又は光受信機30の受信側で発生したビット誤りが、1つのブロックデータ内でk+1ビット以上発生する確率が十分に低い場合に、符号長n及びスクランブルの生成多項式をn<m(1)に設定する。この設定時に、誤り訂正復号部34においてブロックデータJ内でkビット以下のビット誤りが訂正された場合、訂正したビットの位置とスクランブルを解除するデスクランブルの生成多項式とから導出される後方側のブロックデータJ+1内のビット誤り波及位置を記憶する。バッファ部33に保持された後方側のブロックデータJ+1内における前記記憶されたビット誤り波及位置のビットデータを、反転して誤り訂正復号を行う構成とした。
【0078】
この構成によれば、ビット誤りが発生したブロックデータJの後方側のブロックデータJ+1内のビット誤り波及位置を求める。このビット誤り波及位置により、バッファ部33に保持された後方側のブロックデータJ+1内における波及ビット誤り位置を導出し、この導出された波及ビット誤りデータを訂正できる。この訂正によって、後方側のブロックデータJ+1内のビット誤り数をk以下とできる。以降、同様の手順で誤り訂正が可能となる。
【0079】
<第3実施形態の構成>
次に、本発明の第3実施形態に係る光伝送システムが、第2実施形態の光伝送システムと異なる点は、誤り訂正復号部34(
図1参照)及び後段誤り訂正復号部35(
図1参照)の処理を次のようにした点にある。第3実施形態では、同一ブロック内に、ビット誤りに対する波及誤りが発生した場合に誤り訂正を行うことを特徴とする。
【0080】
誤り訂正復号部34は、ブロックデータD1aに対して誤り訂正を行って復号する。この誤り訂正の際に、誤り訂正復号部34は、同一ブロック内で波及ビット誤りが発生し得るm1+1ビット目から後方側のnビット目のデータ全ての組み合わせにおいてビット反転を行って誤り訂正を行う。この誤り訂正を特定誤り訂正という。
【0081】
後段誤り訂正復号部35は次の処理を行う。まず、光伝送路1又は光受信機30のO/E変換部31等の受信側で発生したビット誤りが、1つのブロック内でk+1ビット以上発生する確率が十分に低いとする。この条件の場合、後段誤り訂正復号部35は、符号長n及びスクランブル生成多項式をm(M0-1)≦n<m(M0)<m(M)に設定する。
【0082】
この設定後に、誤り訂正復号部34で上述した特定誤り訂正が行われた場合、後段誤り訂正復号部35は、誤り訂正数がk以下となって誤り訂正が成功したパターンのデータに対して、誤り訂正ビット位置から波及ビット誤り位置(第1位置又は第1波及ビット誤り位置)を求めて記憶する。
【0083】
更に、後段誤り訂正復号部35は、次の後方側ブロック以降に波及ビット誤りがある場合は、この波及ビット誤り位置(第2位置又は第2波及ビット誤り位置)を記憶する。次に、後段誤り訂正復号部35は、バッファ部33内のブロックデータにおいて、上記記憶された第1位置及び第2位置の波及ビット誤りを訂正し、次の後方側ブロックの誤り判定に移行する。
【0084】
このような特徴を有する第3実施形態の光受信機30では、上記スクランブル生成多項式m(M0-1)≦n<m(M0)<m(M)の関係から、
図5の1段目に示すデータD2aが入力される符号化ブロックj内のm(1)+1ビット目からnビット目の間に、同一ブロックj内の他のビットからの波及ビット誤りが最大k(M0-1)ビット(
図5の3段目参照)含まれる。
【0085】
1段目のブロックj内においては、m(M0-1)ビットからm(1)+1ビットのデータを使ってスクランブルが掛かっている。但し、Mは、スクランブルの生成多項式で使う自ビット以外のビット数を表す。例えば、Mが3であれば、自ビットと、これ以外の3ビットを使うことを表す。mは、実際に何ビット前のデータを使っているかを表す。生成多項式で使うビット目は、1ビット目はm(1)ビット目、2ビット目はm(2)ビット目、M0-1目はm(M0-1)ビット目となる。
【0086】
例えば、1段目のブロックj内のm(1)+1ビットのデータを使って、フレーマ部32(
図1参照)でデスクランブルを掛けると、2段目のデータD1aが入力されるブロックjは、先頭のビットデータX‘
j,0から末尾のビットデータX‘
j,n-1までのデスクランブルされた複数ビットのデータとなる。
【0087】
この際、
図5に示す3段目のブロックjに示すように、ビットデータX‘
j,m(1)から末尾のビットデータX‘
j,n-1までの中において、最大k(M0-1)ビットで同一ブロックj内からの波及ビット誤りが生じる。但し、3段目のブロックjにもデータD1aが入力されるが、2段目と混同を避けるため、符号D1a1を付している。
【0088】
次に、同一ブロックj内で波及ビット誤りが生じた際の誤り訂正について、
図6に示す最も上の1段目~最も下のn段目のブロックjを参照して説明する。但し、1段目~n段目のブロックjには同じデータD1aが入力されるが、互いの混同を避けるため、入力データに符号D1a1,D1a2,D1a3,D1a4(n段目)を付している。
【0089】
図6に示す1段目のブロックjは、
図5の3段目のブロックjと同じで、最大k(M0-1)ビットで同一ブロックj内からの波及ビット誤りが生じたものである。
【0090】
図6に示す2段目の入力データD1a2が入力されるブロックjには、1段目のブロックjのデータをコピーしたビット反転無しのデータを示す。2段目のブロックjでは、末尾のビットデータX‘
j,n-1から2つ目迄のビットデータX‘
j,m(1)+1が波及ビット誤りであるとする。
【0091】
次に、3段目のデータD1a3が入力されるブロックjから、n段目のデータD1a4が入力されるブロックjでは、太線枠を括弧J1で括って示すように、波及ビット誤りが起こり得る全てのデータパターンに対して反転処理した様態を示す。
【0092】
3段目のブロックjは、波及ビット誤りが生じる直前の1ビットデータX‘j,m(1)を反転した様態を示す。n段目のブロックjは、3つ全てのビットデータX‘j,n-1、X‘j,m(1)+1、X‘j,m(1)を反転した様態を示す。
【0093】
この反転処理で、3段目~n段目の何れかの段で誤り訂正できるパターンが存在するので、誤り訂正復号部34(
図1参照)は、ステップ34aに示す誤り判定で、何れの段のパターンが誤り訂正を成功したか否かを判定する。
【0094】
次に、誤り訂正復号部34は、ステップ34bで上記誤り訂正が成功したパターン(ブロック)をセレクトし、ステップ34cにおいて、そのセレクトされたパターンで誤り訂正を行う。この誤り訂正によって、誤りビット位置が分かり、自動的に、後段誤り訂正復号部35で波及誤りビットも分かる。この後は、後段誤り訂正復号部35は、ステップ35aにおいて、次ブロック以降(後方側のブロック)の波及ビット誤りを訂正する。
【0095】
<第3実施形態の効果>
第3実施形態に係る光伝送システムの効果について説明する。この光伝送システムは、上記第2実施形態と同じ光送信機20と、光受信機30とを備える。光受信機30の誤り訂正復号部34及び後段誤り訂正復号部35の処理が第2実施形態と異なる。
【0096】
誤り訂正復号部34は、バッファ部33に保持されたブロックデータを、誤り訂正を行って復号する。この際、誤り訂正復号部34は、同一ブロックデータ内で波及ビット誤りが発生し得るm1+1ビット目から後方側のnビット目のデータ全ての組み合わせにおいてビット反転を行うことによる特定誤り訂正を行う。
【0097】
後段誤り訂正復号部35は、上記復号されたブロックデータから、当該ブロックデータのビット誤りが、後方側のブロックデータに波及する波及ビット誤りを訂正して復号する。
【0098】
更に、後段誤り訂正復号部35は、光伝送路1又は光受信機30の受信側で発生したビット誤りが、1つのブロックデータ内でk+1ビット以上発生する確率が十分に低い場合に、符号長n及びスクランブル生成多項式をm(M0-1)≦n<m(M0)<m(M)に設定する。更に、誤り訂正復号部34で上記特定誤り訂正が行われた場合、誤り訂正数がk以下となって誤り訂正が成功したパターンのデータに対して、誤り訂正ビット位置から第1波及ビット誤り位置を求め、次の後方側ブロック以降に波及ビット誤りがある場合は、この第2波及ビット誤り位置を求める。この後、バッファ部33に保持されたブロックデータにおいて、第1及び第2波及ビット誤り位置の波及ビット誤りを訂正し、次の後方側ブロックの誤り判定に移行する構成とした。
【0099】
この構成によれば、次のような作用効果が得られる。同一ブロック内において、波及ビット誤りが発生し得るm(1)+1ビット目からnビット目の全ての組み合わせに対してビット反転を行った各パターン及びビット反転を行わないパターンに対して誤り訂正を行う。この誤り訂正によって、全ての波及ビット誤りを反転させるパターンが必ず存在し、ビット誤り数がk以下となるため、誤り訂正符号による誤り訂正が可能となる。
【0100】
また、誤り訂正が可能なパターンに対して誤り訂正を行った際、誤ったビット位置が特定できるので、以降の符号化ブロック内の波及ビット誤り位置を計算できる。この位置の波及ビット誤りをバッファ部内で訂正することで、以降順次入力される符号化ブロック内のビット誤り数もk以下となり、順次同様の手順で誤り訂正を行うことが可能となる。
【0101】
<第4実施形態の構成>
図7は、本発明の第4実施形態に係る光伝送システムの構成を示すブロック図である。第4実施形態に係る光伝送システム10Aは、光伝送路1で接続された光送信機20A及び光受信機30Aを備える。光伝送システム10Aが第1実施形態の光伝送システム10(
図1)と異なる点は、光送信機20Aの記憶部21及びフレーマ部22並びに、光受信機30Aの誤り訂正復号部34及び後段誤り訂正復号部35の処理機能にある。また、光送信機20Aには第2バッファ部33bを追加しており、第1バッファ部33aは第1実施形態のバッファ部33と同じものである。
【0102】
光送信機20Aにおいて、記憶部21は、1ビット誤り訂正及び2ビット誤り検出可能な符号長nの誤り訂正符号を用いて符号化された複数のブロックデータを記憶する。
【0103】
フレーマ部(第1フレーマ部)22は、第1実施形態と同様にフレームを生成すると共に、各ビットに対してスクランブルを行う。更に、フレーマ部22は、記憶部21に記憶されたブロックデータに対して、生成多項式X=1+Xm(1)+Xm(2){但し、Xm(i)はブロックデータD1(
図7)の対象ビットに対してm(i)ビット前のビットデータであるm(1)<m(2)とする}を用いたスクランブルを施した後、ヘッダ情報を付与してフレームを構成する。但し、mは、実際に何ビット前(前方側)のデータを使っているかを表す。
【0104】
光受信機30において、第1バッファ部33aは、フレーマ部22で符号化されたブロックデータD1aを一時的に保持し、誤り訂正復号部34へ出力する。第2バッファ部33bは、誤り訂正復号部34で誤り訂正されたブロックデータD4を一時的に保持し、記憶部36へ出力する。
【0105】
誤り訂正復号部34は、ブロックデータD1aに対して誤り訂正を行って復号する。この誤り訂正の際に、同一ブロック内において、誤り訂正可能ビットは1ビットであるが、最大2ビット迄の誤り発生によるビット誤り数が検出可能となっている。
【0106】
また、誤り訂正復号部34は、初期状態のフラグを0に設定し、符号化ブロックに対してpビット目である{m(1)+1≦p≦n+m(1)-m(2)}ビット目及び、{p+m(2)-m(1)}ビット目を反転したブロック並びに、ビット反転を行わない合計(n-m(2)+1)個のブロックの誤り判定を行う。但し、誤り訂正復号部34は、フラグを0又は1に設定する処理機能を有する。フラグ0は、前方側ブロックから後方側ブロックへの波及ビット誤りが無いことを示し、フラグ1は波及ビット誤りが有ることを示す。
【0107】
その判定によって、誤り訂正復号部34は、ブロック内にビット誤り数が1以下のパターンが存在し、且つフラグが0である第1判定結果であれば、そのパターンのブロックに対して誤り訂正を行う。フラグ0の場合は、前方側(前段)ブロックからの波及ビット誤りが無いことを示す。
【0108】
第1判定結果の場合、後段誤り訂正復号部35は、その誤り訂正を行ったビット誤り位置から後方側ブロックへの波及ビット誤り位置を求め、この位置に応じて第1バッファ部33a内の該当後方側ブロック内の波及ビット誤りを訂正(後段誤り訂正)し、次の後方側ブロックの処理に移行する。
【0109】
また、誤り訂正復号部34は、ビット誤り数が1以下のパターンが存在し、且つフラグが1である第2判定結果であれば、そのパターンのブロックに対して誤り訂正を行う。ビット誤り数が1以下のパターンが存在する場合、誤り訂正符号による誤り訂正が可能となり、前述した第2実施形態と同様に、誤り訂正が可能なパターンに対して誤り訂正を行った際、誤ったビット位置が特定できる。
【0110】
また、フラグ1が立っている場合、誤り訂正がなされず第2バッファ部33bにデータが保持されている状態であるため、第2バッファ部33b内のデータの波及ビット誤り訂正を行う処理が可能となる。フラグ1の場合は、前方側ブロックからの波及ビット誤りと判定し、次の後方側ブロックから見て前方側ブロックとなる当該ブロックのビット誤り位置を計算可能となっている。
【0111】
第2判定結果の場合、後段誤り訂正復号部35は、その誤り訂正を行ったビット誤り位置から前方側ブロックのビット誤り位置を求め、この位置に応じて第2バッファ部33b内の該当前方側ブロックのビット誤りを訂正(前段誤り訂正)し、次のブロックの処理に移行する。
【0112】
更に、誤り訂正復号部34は、ブロック内のビット誤り数の最小値が2の場合である第3判定結果であれば、フラグを1に設定して、次のブロックの処理に移行する。
【0113】
このような特徴を有する第4実施形態の光受信機30Aによる誤り訂正について、
図8に示す最も上の1段目~最も下のn段目のブロックjを参照して説明する。但し、1段目~n段目のブロックjには同じデータD1aが入力されるが、互いの混同を避けるため、入力データに符号D1a5,D1a6,D1a7,D1a8(n段目)を付している。
【0114】
図8に示す1段目のブロックjは、3段目のデータD1a5が入力されるブロックjに示すように、ビットデータX‘
j,m(1)から末尾のビットデータX‘
j,n-1までの中において、最大2ビットで波及ビット誤りが生じるとする。
【0115】
図8に示す2段目の入力データD1a6が入力されるブロックjには、1段目のブロックjのデータをコピーしたビット反転無しのデータを示す。
【0116】
次に、3段目のデータD1a7が入力されるブロックjから、n段目のデータD1a8が入力されるブロックjでは、太線枠を括弧J2で括って示すように、波及ビット誤りが2つ起こり得る全てのデータパターンに対して反転処理した様態を示す。
【0117】
3段目のブロックjは、波及ビット誤りが生じる2つのビットデータX‘j,m(1)、X‘j,m(2)を反転した様態を示す。n段目のブロックjも同様に波及ビット誤りが生じる2つのビットデータX‘j,n-m(1)-m(2)、X‘j,n-1を反転した様態を示す。
【0118】
つまり、波及ビット誤りが発生し得る(m(1)+1,m(2)+1)ビットから(n+m(1)-m(2),n)ビットの組み合わせに対して、ビット反転を行った各パターン及び、ビット反転を行わないパターンに対して誤り訂正を行うと、全ての波及ビット誤りを反転させるパターンが必ず存在し、ビット誤り数が2以下となる。
【0119】
この3段目~n段目の何れかの段で誤り訂正できる2パターンが存在するので、誤り訂正復号部34(
図7参照)は、ステップ34eに示す誤り判定で、何れの段のパターンが誤り訂正を成功したか否かを判定する。
【0120】
この判定により、誤り訂正復号部34は、ステップ34gで誤り訂正が成功したパターン(ブロック)を、ステップ34fでセレクトする。このセレクトされる内容を、ステップ34g,34h,34iに示す。
【0121】
ステップ34gにおいて、誤り訂正復号部34は、ブロック内にビット誤り数が1以下のパターンが存在し、且つ(&)フラグが0である第1判定結果の場合に、そのパターンのブロックに対して誤り訂正を行う。
【0122】
この後、ステップS35cにおいて、後段誤り訂正復号部35は、上記ステップ34gで誤り訂正を行ったビット誤り位置から後方側ブロックへの波及ビット誤り位置を求め、この位置に応じて第1バッファ部33a内の該当後方側ブロック内の波及ビット誤りを訂正する。
【0123】
この他のステップ34hにおいて、誤り訂正復号部34は、ビット誤り数が1以下のパターンが存在し、且つ(&)フラグが1である第2判定結果の場合に、そのパターンのブロックに対して誤り訂正を行う。
【0124】
この後、ステップS35dにおいて、後段誤り訂正復号部35は、上記ステップ34hで誤り訂正を行ったビット誤り位置から前方側ブロックのビット誤り位置を求め、この位置に応じて第2バッファ部33b内の該当前方側ブロックのビット誤りを訂正する。
【0125】
更にこの他、ステップ34iにおいて、誤り訂正復号部34は、ブロック内のビット誤り数の最小値が2の場合である第3判定結果であれば、フラグを1に設定して、次のブロックの処理に移行する。
【0126】
<第4実施形態の効果>
第4実施形態に係る光伝送システム10Aの光送信機20A及び光受信機30Aの特徴要素による効果について説明する。
【0127】
光送信機20Aの記憶部21は、1ビット誤り訂正及び2ビット誤り検出可能な符号長nの誤り訂正符号を用いて符号化された複数のブロックデータを記憶する。
【0128】
フレーマ部22は、その記憶されたブロックデータに対して、生成多項式X=1+Xm(1)+Xm(2){但し、Xm(i)はブロックデータの対象ビットに対してm(i)ビット前のビットデータであるm(1)<m(2)を表す}を用いたスクランブルを施した後、ヘッダ情報を付与してフレームを構成する。
【0129】
光受信機30Aにおいて、第1バッファ部33aは、フレーマ部32によりデスクランブルが行われたブロックデータを保持する。第2バッファ部33bは、誤り訂正復号部34で復号されたブロックデータを保持する。
【0130】
誤り訂正復号部34は、初期状態のフラグを0に設定し、ブロックデータに対してpビット目である{m(1)+1≦p≦n+m(1)-m(2)}ビット目及び、{p+m(2)-m(1)}ビット目を反転したブロックデータ並びに、ビット反転を行わない合計(n-m(2)+1)個のブロックデータの誤り判定を行う。
【0131】
誤り訂正の結果が、ブロックデータ内にビット誤り数が1以下のパターンが存在し、且つフラグが0であれば、誤り訂正復号部34は、当該パターンのブロックデータに対して誤り訂正を行い、後段誤り訂正復号部35は、当該誤り訂正を行ったビット誤り位置から後方側ブロックデータへの波及ビット誤り位置を求め、この位置に応じて前記第1バッファ部内の該当後方側ブロックデータ内の波及ビット誤りを訂正する。
【0132】
また、誤り訂正の結果が、ビット誤り数が1以下のパターンが存在し、且つフラグが1である第2判定結果であれば、誤り訂正復号部34は、当該パターンのブロックに対して誤り訂正を行い、後段誤り訂正復号部35は、当該誤り訂正を行ったビット誤り位置から前方側ブロックデータのビット誤り位置を求め、この位置に応じて前記第2バッファ部内の該当前方側ブロックデータの波及ビット誤りを訂正する。
【0133】
更に、誤り訂正の結果が、ブロックデータ内のビット誤り数の最小値が2であれば、誤り訂正復号部34は、フラグを1に設定する構成とした。
【0134】
この構成によれば、同一ブロックデータにおいて、誤り訂正可能ビットは1ビットであるが、最大2ビット迄のビット誤りの発生が検出できる。この検出された誤り位置に応じて後方側ブロックデータ又は前方側ブロックデータのビット誤りを訂正できる。
【0135】
<実験例>
図9は、上述した第4実施形態の光伝送システム10Aを実機で構成した際の光伝送システムのブロック図である。
【0136】
光送信機20A(
図7参照)は、FPGA(Field Programmable Gate Array)で構成した記憶部21Eと、復号器21E1と、フレーマ22Eとを備える。フレーマ22Eは、
図7に示したE/O変換部23の機能を備えるとする。
【0137】
光受信機30A(
図7参照)は、O/E変換部31(
図7)の機能を有する光モジュール31Eと、FPGAで構成したフレーマ32Eと、復号器32E1と、記憶部36Eとを備える。但し、復号器32E1は、
図7に一点鎖線の枠内に示した第1バッファ部33a、誤り訂正復号部34、第2バッファ部33b及び後段誤り訂正復号部35の機能を備えるとする。
【0138】
また、光伝送路1は、光モジュール1a及び可変光アッテネータ1bで実現してある。
【0139】
記憶部21Eは、1ビット誤り訂正及び2ビット誤り検出可能な符号長nの誤り訂正符号を用いて符号化された複数のブロックデータを記憶する。復号器21E1は、その記憶されたブロックデータD1を符号化してフレーマ22Eへ出力する。
【0140】
フレーマ部22Eは、ブロックデータD1aに対して、第4実施形態で説明したと同様に、スクランブルを施した後、ヘッダ情報を付与してフレームを構成する。このフレームによる光信号は、光モジュール1a及び可変光アッテネータ1bを介して光モジュール31Eで受信され、電気信号に変換される。
【0141】
復号器32E1は、第4実施形態で説明したと同様に誤り訂正復号部34が行う判定処理と、誤り訂正復号部34が第1バッファ部33a又は第2バッファ部33bのブロックデータに対して行う誤り処理とを実行する。
【0142】
復号器32E1の誤り訂正の結果が前述した第1判定結果の場合、前述した後段誤り訂正復号部35の処理と同様に、第1バッファ部33aの後方側ブロック内の波及ビット誤りを訂正する。
【0143】
第2判定結果の場合、復号器32E1は、前方側ブロックのビット誤り位置に応じて第2バッファ部33bの前方側ブロックのビット誤りを訂正する。
第3判定結果であれば、復号器32E1は、フラグを1に設定して、次のブロックの処理に移行する。
【0144】
但し、可変光アッテネータ1bでの減衰量を増やせば、光パワーが減少するのでビット誤り率が増加するようになっている。
【0145】
また、誤り訂正符号としてハミング符号(72,64)、フレーマとして10GbEのphysical coding sublayer(PCS)/physical medium attachment(PMA)を用いた。この時、符号長n=72、スクランブラ生成多項式のm(1)=39,m(2)=58である。誤り訂正符号により、8バイトのデータに対して1バイトのパリティが付与されるので、8×8バイトのデータに対して8バイトのパリティを挿入する構成とした。
【0146】
この構成では、1ビット誤りが発生し得る576パターンに対してデータ領域の最後の2ビットにエラーが発生した場合、波及するビット誤りが同一ブロック内のパリティに発生するため、誤り訂正が不可となり、誤り訂正能力が若干低下する。
【0147】
フレーマ22Eから出力されるスクランブルされた電気信号は、10GHzの光モジュール1aで光信号に変換されて出力され、受信光パワーを調整するための可変光アッテネータ1bを介して、受信側の光モジュール31Eに入力される。送信データとして、15段の疑似ランダムパターンを用いた。正常に受信したフレームに対してハミング符号の復号を行いビット誤り率を算出したとする。
【0148】
図10に、上記実験結果の受信光パワー(dBm)に対するビット誤り率を示す。
図10に示す曲線T2は、誤り訂正適用前のビット誤り率、曲線T1は、誤り訂正適用後のビット誤り率である。このように、誤り訂正後はビット誤り率が減少する。ビット誤り率10
-9で比較すると、2dB程度の受信感度改善が確認できる。同じ受信光パワーでも、ビット誤り率が低くなって改善されている。
【0149】
図10に曲線T1,T2で示す実験結果を、誤り訂正前後のビット誤り率の関係に変換して
図11に曲線T3,T4で示す。
【0150】
図11において、破線曲線T3は、ハミング符号(72,64)の誤り訂正前後のビット誤り率の理論値である。実線曲線T4は同一ブロック内のパリティに派生ビット誤りが生じる影響を考慮した理論値である。
図10に曲線T1,T2で示す実験結果は、
図11の理論値T3,T4とよく一致しており、本発明の効果が確認できる。つまり、ビット誤り率が低くなって改善されている。
【0151】
本実験では、波及ビット誤りが2つあるので、曲線T4のように何もしないと、誤り訂正した際の曲線T3の結果と比べて、3倍のビット誤りに増加(ビット誤り率が増加)することになる。
【0152】
また、本実施形態のコンピュータで実行されるプログラムについて説明する。コンピュータは、光受信機30(
図1)であるとする。
【0153】
このプログラムは、上記コンピュータを、誤り訂正符号に応じて符号化された複数のデータに、代数演算によるスクランブルが施された複数のデータから成るブロックデータが光伝送路を介して受信された後に、受信されたブロックデータに当該スクランブルを代数演算により解除するデスクランブルを行う手段、前記デスクランブルが行われたブロックデータを保持する手段、前記保持されたブロックデータを、誤り訂正を行って復号する手段、前記復号されたブロックデータから、当該ブロックデータのビット誤りが、後方側のブロックデータに波及するビット誤り位置を求め、この求められたビット誤り位置を基に、前記バッファ部に保持された前記後方側のブロックデータの波及ビット誤りを、誤り訂正する手段として機能させる。
【0154】
このプログラムによれば、上述した第1実施形態の光受信機30の効果と同様の効果を得ることができる。
【0155】
<効果>
(1)誤り訂正符号に応じて符号化された複数のデータに、代数演算によるスクランブルが施された複数のデータから成るブロックデータが光伝送路を介して受信された後に、受信されたブロックデータに当該スクランブルを代数演算により解除するデスクランブルを行うフレーマ部と、前記デスクランブルが行われたブロックデータを保持するバッファ部と、前記保持されたブロックデータを、誤り訂正を行って復号する誤り訂正復号部と、前記復号されたブロックデータから、当該ブロックデータのビット誤りが、後方側のブロックデータに波及するビット誤り位置を求め、当該ビット誤り位置を基に、前記バッファ部に保持された前記後方側のブロックデータの波及ビット誤りを訂正して復号する後段誤り訂正復号部とを備えることを特徴とする光受信機である。
【0156】
この構成によれば、スクランブラとデスクランブラ間においてデータにビット誤りが発生した際に、ビット誤りが他のビットに波及する波及ビット誤りを訂正できる。このため、上記データの波及ビット誤りを含むビット誤りを、デスクランブル時にビット誤り率が低くなるように誤り訂正できる。つまり、スクランブラとデスクランブラ間において発生したデータのビット誤りから生じるデスクランブル後の波及ビット誤りを訂正することで、デスクランブラ後に実行される誤り訂正が本来の性能を発揮することを可能にできる。
【0157】
(2)誤り訂正符号に応じて符号化された複数のデータに、代数演算によるスクランブルが施された複数のデータから成るブロックデータを光伝送路へ送信する光送信機と、請求項1に記載の光受信機とを備えることを特徴とする光伝送システムである。
【0158】
この構成によれば、光伝送システムにおいて、誤り訂正符号に応じて符号化された複数のデータに、代数演算によるスクランブルが施された複数のデータから成るブロックデータを、光送信機から光伝送路へ送信する。光受信機で、光伝送路からブロックデータを受信し、デスクランブル後に誤り訂正を行う。この際、スクランブラとデスクランブラ間においてデータにビット誤りが発生した場合、光受信機において、ビット誤りが他のビットに波及する波及ビット誤りを訂正できる。このため、上記データの波及ビット誤りを含むビット誤りを、デスクランブル時にビット誤り率が低くなるように誤り訂正できる。
【0159】
(3)k(k:誤り訂正可能な数値)ビット誤り訂正可能な符号長nの誤り訂正符号を用いて符号化された複数のブロックデータを記憶する記憶部と、前記記憶されたブロックデータに対して、生成多項式X=1+Xm(1)+…+Xm(M){但し、mは何ビット前のビットデータを使用中かを表し、Xm(i),(i又はj=整数)は、ブロックデータのビットに対してm(i)ビット前のビットデータであるm(i)<m(j),(i<j)を表す}を用いたスクランブルを施した後、ヘッダ情報を付与してフレームを構成する第1フレーマ部とを有する光送信機を備え、前記第1フレーマ部によりスクランブルが施された複数のデータから成るブロックデータが光伝送路を介して受信された後に、受信されたブロックデータに当該スクランブルを生成多項式により解除するデスクランブルを行う第2フレーマ部と、前記デスクランブルが行われたブロックデータを保持するバッファ部と、前記保持されたブロックデータを、誤り訂正を行って復号する誤り訂正復号部と、前記復号されたブロックデータから、当該ブロックデータのビット誤りが、後方側のブロックデータに波及する波及ビット誤りを訂正して復号する後段誤り訂正復号部とを有する光受信機を備え、前記後段誤り訂正復号部は、前記光伝送路又は光受信機の受信側で発生したビット誤りが、1つのブロックデータ内でk+1ビット以上発生する確率が十分に低い場合に、符号長n及びスクランブルの生成多項式をn<m(1)に設定し、前記誤り訂正復号部においてブロックデータ内でkビット以下のビット誤りが訂正された場合、訂正したビットの位置とスクランブルを解除するデスクランブルの生成多項式とから導出される後方側のブロックデータ内のビット誤り波及位置を記憶し、前記バッファ部に保持された前記後方側のブロックデータ内における前記記憶されたビット誤り波及位置のビットデータを、反転して誤り訂正復号を行うことを特徴とする光伝送システムである。
【0160】
この構成によれば、ビット誤りが発生したブロックデータの後方側のブロックデータ内のビット誤り波及位置を求める。このビット誤り波及位置により、バッファ部に保持された後方側のブロックデータ内における波及ビット誤り位置を導出し、この導出された位置の波及ビット誤りデータを訂正できる。この訂正によって、後方側のブロックデータ内のビット誤り数をk以下とできる。
【0161】
(4)k(k:誤り訂正可能な数値)ビット誤り訂正可能な符号長nの誤り訂正符号を用いて符号化された複数のブロックデータを記憶する記憶部と、前記記憶されたブロックデータに対して、生成多項式X=1+Xm(1)+Xm(2){但し、Xm(i)はブロックデータの対象ビットに対してm(i)ビット前のビットデータであるm(1)<m(2)を表す}を用いたスクランブルを施した後、ヘッダ情報を付与してフレームを構成する第1フレーマ部とを有する光送信機を備え、前記第1フレーマ部によりスクランブルが施された複数のデータから成るブロックデータが光伝送路を介して受信された後に、受信されたブロックデータに当該スクランブルを生成多項式により解除するデスクランブルを行う第2フレーマ部と、前記デスクランブルが行われたブロックデータを保持する第1バッファ部と、前記保持されたブロックデータを、誤り訂正を行って復号する誤り訂正復号部と、前記復号されたブロックデータを保持する第2バッファ部と、前記復号されたブロックデータから、当該ブロックデータのビット誤りが、後方側のブロックデータに波及する波及ビット誤りを訂正して復号する後段誤り訂正復号部とを有する光受信機を備え、前記後段誤り訂正復号部は、前記光伝送路又は光受信機の受信側で発生したビット誤りが、1つのブロックデータ内でk+1ビット以上発生する確率が十分に低い場合に、符号長n及びスクランブル生成多項式をm(M0-1)≦n<m(M0)<m(M)に設定し、前記誤り訂正復号部で前記特定誤り訂正が行われた場合、誤り訂正数がk以下となって誤り訂正が成功したパターンのデータに対して、誤り訂正ビット位置から第1波及ビット誤り位置を求め、次の後方側ブロック以降に波及ビット誤りがある場合は、この第2波及ビット誤り位置を求めた後、前記バッファ部に保持されたブロックデータにおいて、前記第1及び第2波及ビット誤り位置の波及ビット誤りを訂正し、次の後方側ブロックの誤り判定に移行することを特徴とする光伝送システムである。
【0162】
この構成によれば、次のような作用効果が得られる。同一ブロック内において、波及ビット誤りが発生し得るm(1)+1ビット目からnビット目の全ての組み合わせに対してビット反転を行った各パターン及びビット反転を行わないパターンに対して誤り訂正を行う。この誤り訂正によって、全ての波及ビット誤りを反転させるパターンが必ず存在し、ビット誤り数がk以下となるため、誤り訂正符号による誤り訂正が可能となる。
【0163】
また、誤り訂正が可能なパターンに対して誤り訂正を行った際、誤ったビット位置が特定できるので、以降の符号化ブロック内の波及ビット誤り位置を計算できる。この位置の波及ビット誤りをバッファ部内で訂正することで、以降順次入力される符号化ブロック内のビット誤り数もk以下となり、順次同様の手順で誤り訂正を行うことが可能となる。
【0164】
(5)1ビット誤り訂正及び2ビット誤り検出可能な符号長nの誤り訂正符号を用いて符号化された複数のブロックデータを記憶する記憶部と、前記記憶されたブロックデータに対して、生成多項式X=1+Xm(1)+Xm(2){但し、Xm(i)はブロックデータの対象ビットに対してm(i)ビット前のビットデータであるm(1)<m(2)を表す}を用いたスクランブルを施した後、ヘッダ情報を付与してフレームを構成する第1フレーマ部とを有する光送信機を備え、前記第1フレーマ部によりスクランブルが施された複数のデータから成るブロックデータが光伝送路を介して受信された後に、受信されたブロックデータに当該スクランブルを生成多項式により解除するデスクランブルを行う第2フレーマ部と、前記デスクランブルが行われたブロックデータを保持する第1バッファ部と、前記保持されたブロックデータを、誤り訂正を行って復号する誤り訂正復号部と、前記復号されたブロックデータを保持する第2バッファ部と、前記復号されたブロックデータから、当該ブロックデータのビット誤りが、後方側のブロックデータに波及する波及ビット誤りを訂正して復号する後段誤り訂正復号部とを有する光受信機を備え、前記誤り訂正復号部は、初期状態のフラグを0に設定し、ブロックデータに対してpビット目である{m(1)+1≦p≦n+m(1)-m(2)}ビット目及び、{p+m(2)-m(1)}ビット目を反転したブロックデータ並びに、ビット反転を行わない合計(n-m(2)+1)個のブロックデータの誤り判定を行い、前記誤り訂正の結果が、ブロックデータ内にビット誤り数が1以下のパターンが存在し、且つフラグが0であれば、前記誤り訂正復号部は、当該パターンのブロックデータに対して誤り訂正を行い、前記後段誤り訂正復号部は、当該誤り訂正を行ったビット誤り位置から後方側ブロックデータへの波及ビット誤り位置を求め、この位置に応じて前記第1バッファ部内の該当後方側ブロックデータ内の波及ビット誤りを訂正し、前記誤り訂正の結果が、ビット誤り数が1以下のパターンが存在し、且つフラグが1である第2判定結果であれば、前記誤り訂正復号部は、当該パターンのブロックに対して誤り訂正を行い、前記後段誤り訂正復号部は、当該誤り訂正を行ったビット誤り位置から前方側ブロックデータのビット誤り位置を求め、この位置に応じて前記第2バッファ部内の該当前方側ブロックデータの波及ビット誤りを訂正し、前記誤り訂正の結果が、ブロックデータ内のビット誤り数の最小値が2であれば、前記誤り訂正復号部は、フラグを1に設定することを特徴とする光伝送システムである。
【0165】
この構成によれば、同一ブロックデータにおいて、誤り訂正可能ビットは1ビットであるが、最大2ビット迄のビット誤りの発生が検出できる。この検出された誤り位置に応じて後方側ブロックデータ又は前方側ブロックデータのビット誤りを訂正できる。
【0166】
その他、具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
【符号の説明】
【0167】
1 光伝送路
10,10A 光伝送システム
20,20A 光送信機
21 記憶部
22 フレーマ部
23 E/O変換部
30,30A 光受信機
31 O/E変換部
32 フレーマ部
33 バッファ部
33a 第1バッファ部
33b 第2バッファ部
34 誤り訂正復号部
35 後段誤り訂正復号部
36 記憶部