以下本発明の実施の形態について、実施例を用い図面を参照しながら説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。
図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およびTDHネットワーク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を介して、加入者ファイバ7へ送出される。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は、上り信号のスクランブルを解除するデスクランブラ901と、デスクランブル信号のフレーム同期を取るフレーム同期部902と、情報ワードとFEC(Forward Error Correction)パリティを分離し、情報ワードの誤り修正を行う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ないし図14を参照して、8ビットパラレル可変長に対応した、FECエンコーダを説明する。図9はFECエンコーダのブロック図である。図10はFECエンコーダの短縮補償計算部のブロック図である。図11はFECエンコーダの短縮補償パラメータテーブルを説明する図である。図12はFECエンコーダのチェックビット計算部のブロック図である。図13はFECエンコーダのチェックビット挿入部のブロック図である。図14はFECエンコーダの処理のタイムチャートである。
図9において、FECエンコーダ993Aは、データ格納メモリ21、短縮補償計算部22、短縮補償パラメータテーブル23、チェックビット計算部24、チェックビット挿入部25から構成される。チェックビット挿入部25には、エンコード実行指示信号が入力される。8ビット並列の入力データは、データ格納メモリ21と短縮補償計算部22に入力される。FECフレームトップ識別信号とFECフレームサイズは、データ格納メモリ21、短縮補償計算部22、チェックビット計算部24、チェックビット挿入部25に入力される。一方、FECエンコーダ993Aのチェックビット挿入部25から、8ビット並列の出力データが、出力される。ここで、FECフレームトップ識別信号は、8ビット並列のデータストリームの上でのFECフレームの開始タイミングを示す信号である。また、短縮とはFECフレームサイズ255に対して、フレームサイズが短いことを意味する。
データ格納メモリ21は、チェックビット演算が完了するまで、入力データを保持する。短縮補償計算部22は、FECフレームサイズに対応する参照番地を計算する。短縮補償計算部22は、参照番地をキーに短縮補償パラメータテーブル23を参照し、短縮補償パラメータを取得する。短縮補償計算部22は、128ビット並列の補償後データをチェックビット計算部24に送信する。チェックビット計算部24は、128ビット並列の補償後データに基づいて、8ビット並列のチェックビットをチェックビット挿入部25に送信する。チェックビット挿入部25は、データ格納メモリ21が保持している入力データにチェックビットを挿入し、8ビット並列の出力データを出力する。
図10において、短縮補償計算部22は、遅延メモリ221と、参照番地計算部222と、16台の乗算回路223とから構成される。遅延メモリ221は、短縮補償パラメータxh(j)i(i=0-15)を受信して、乗算回路223のパラメータがセットされるまでのΔCHKの間、8ビット並列データを保持する。ここで、jは短縮度である。参照番地計算部222は、FECフレームサイズに対応する短縮補償パラメータテーブルの番地を計算して、当該番地に記録された短縮補償パラメータを要求する。乗算回路223は、FECフレームトップ識別信号で、一旦リセットしたあと、受信した短縮補償パラメータに基づいて、パラメータ設定する。乗算回路223は、パラメータ設定した後、遅延メモリ221から8ビット並列データを受信し、乗算演算して、それぞれ8ビット、合計128ビット並列の補償後データを出力する。
図11Aにおいて、短縮補償パラメータテーブル23Aは、番地毎に16バイトのパラメータを記載したテーブルである。ここで、番地は短縮して省かれたバイト数である。短縮補償計算部22から番地を指定して、読み出し要求を受信したとき、短縮補償パラメータテーブル23Aは、当該番地の内容である短縮補償パラメータを、短縮補償計算部22に返信する。図8で説明したように情報ワードの最大値は239バイトなので、番地0から番地238には値が入るが、239〜255番地はd.c.(don't care)となっている。また、短縮補償パラメータテーブル23の各番地の値は、乗算回路xh(j)15、…、xh(j)1、xh(j)0用のパラメータを予め演算して、設定しておく。
なお、G−PON下りのFECフレームサイズは、255、120なので、短縮補償パラメータテーブル23Aは、239組ではなく、0番地と135番地の2組であっても良い。
図11Bにおいて、短縮補償パラメータテーブル23Bは、番地毎に16バイトのパラメータを記載したテーブルである。ここで、番地は短縮後のフレームサイズである。図11Bは、図11Aと番地の定義が異なるだけなので、説明は省略する。
図11を用いて説明した短縮補償パラメータh(j)k(−1≦j≦238)は、式1および式2から求める。
である。式1、式2において、「・」「+」はそれぞれガロア体(2)上の乗算、加算である。
また、式2のG(Z)は生成多項式で、ITU−Tの勧告で定められている。しかし、それに限る必要はない。
j=0の場合は単なる16桁上げ入力、j=−1の場合は単なる15桁上げ入力を意味する。
図12において、チェックビット計算部24は、16台のフリップフロップ241と、16台の固定乗算回路242と、16台の加算回路243と、メモリ244とから構成される。加算回路は、排他的論理和(EOR)である。なお、図中の線はいずれも8ビットパラレルの信号線である。
FECフレームトップ識別信号により、FECフレームの区切り毎にフリップフロップ241とメモリ244をクリアし、「0」に初期化する。1サイクルめは、補償後データINCHK_i(i=0〜15)が加算回路243−iに入力され、フリップフロップ241−(i−1)と固定乗算回路242−iの出力との排他的論理和が取られる。ここで、加算回路243−0は2入力である。固定乗算回路242の入力は、フリップフロップ241−15の出力である。2サイクルめで加算回路242−iの出力がフリップフロップ241−iに取り込まれ、同時に補償後データINCHK_iが加算回路243−iに入力される。これを、FECフレームサイズのサイクルだけ繰り返す。次に、各フリップフロップ241の出力をメモリ244に取り込む。メモリ244からの出力は、Chk15、Chk14、…、Chk1、Chk0の順である。チェックビットの出力タイミングは、FECフレームサイズと、FECフレームトップ信号から計算する。また、チェックビット挿入部25から開始信号をもらっても良い。
図13において、チェックビット挿入部25は、セレクタ制御部251と、セレクタ252とから構成される。セレクタ制御部251には、エンコード実行指示信号とFECフレームトップ識別信号とFECフレームサイズとが、入力されセレクタ252を制御する。セレクタ252は、データ格納メモリ21からのデータ入力である8ビット並列信号と、チェックビット計算部24からのチェックビットである8ビット並列信号とを入力とし、セレクタ制御部251の制御により、入力の一方を出力する。
チェックビット挿入部25は、エンコード実行指示信号が、FEC実行を指定していたとき、FECフレームのチェックビット位置のタイミングでは、チェックビットを選択する。一方、チェックビット挿入部25は、FECフレームのチェックビット位置以外のタイミングでは、データ入力側を選択する。
また、チェックビット挿入部25は、エンコード実行指示信号が、FEC非実行を指定していたとき、常にデータ入力側を選択する。
図14において、(a)はFECエンコーダへの入力データ、(b)はFECフレームトップ識別信号、(c)はフレームサイズデータ、(d)は短縮補償パラメータ、(e)は乗算回路再構成、(f)は補償後データ、(g)はチェックビット計算結果、(h)はデータ格納メモリからの読み出し、(i)はチェックビット挿入結果である。
FECエンコーダへの入力データの開始と同時に、FECフレームトップ識別信号が立上り、短縮補償パラメータの出力が立ち上がって乗算回路の再構成が終了した後、補償後データが出力される。FECフレームトップ識別信号の立上りから補償後データの立上りの期間がΔCHKである。
データ格納メモリからデータを読み出す一方で、チェックビット計算が終了した後、チェックビット部にチェックビットを挿入することによって、FECエンコーダ出力データが完成する。
次に、図15ないし図22を参照して、16ビットパラレル可変長に対応した、FECエンコーダを説明する。ここで、図15はFECエンコーダのブロック図である。図16はFECエンコーダの短縮補償計算部のブロック図である。図17AはFECエンコーダの短縮補償パラメータテーブルを説明する図である。図17BはFECエンコーダの短縮補償パラメータテーブルを説明する図である。図18はFECエンコーダのチェックビット計算部のブロック図である。図19はFECエンコーダのチェックビット計算部のfBk生成を説明する図である。図20はFECエンコーダのチェックビット挿入部のブロック図である。図21はFECエンコーダの鍵型補償計算部部のブロック図である。図22はFECエンコーダの処理のタイムチャートである。
図15において、FECエンコーダ993Bは、データ格納メモリ31、短縮補償計算部32、短縮補償パラメータテーブル33、チェックビット計算部34、チェックビット挿入部35、鍵型補償計算部36から構成される。チェックビット挿入部35には、エンコード実行指示信号が入力される。16ビット並列の入力データは、データ格納メモリ31と短縮補償計算部32に入力される。FECフレームトップ識別信号とFECフレームサイズとFECフレームスタート位置情報は、データ格納メモリ31、短縮補償計算部32、チェックビット計算部34、チェックビット挿入部35、鍵型補償計算部36に入力される。一方、FECエンコーダ993Bのチェックビット挿入部35から、16ビット並列の出力データが、出力される。ここで、FECフレームトップ識別信号は、16ビット並列のデータストリームの上でのFECフレームの開始タイミングを示す信号である。FECフレームサイズは、短縮後のFECフレームサイズである。FECフレームスタート位置情報は、FECフレームトップ識別信号で示されるFECフレームの開始タイミングにおいて、16ビット並列の上位側8ビット、下位側8ビットのどちらからFECフレームがスタートするかを示す。FECフレームスタート位置情報は、FECフレーム終了位置を示す情報でもよい。また、短縮とはFECフレームサイズ255に対して、フレームサイズが短いことを意味する。
データ格納メモリ31は、チェックビット演算が完了するまで、入力データを保持する。鍵型補償計算部36はFECフレーム位置情報に基づいて、短縮補償サイズを短縮補償計算部32に送信する。短縮補償計算部32は、短縮補償サイズとFECフレームサイズに対応する参照番地を計算する。短縮補償計算部32は、参照番地をキーに短縮補償パラメータテーブル33を参照し、短縮補償パラメータを取得する。短縮補償計算部32は、128ビット並列の補償後データをチェックビット計算部34に送信する。チェックビット計算部34は、128ビット並列の補償後データに基づいて、16ビット並列のチェックビットをチェックビット挿入部35に送信する。チェックビット挿入部35は、データ格納メモリ31が保持している入力データにチェックビットを挿入し、16ビット並列の出力データを出力する。
短縮補償計算部32は、計算しようとするFECフレームに対する回路定数を決定するために、鍵形補償計算部36からFECフレームに対応した短縮サイズを受け取り、この短縮サイズに対応したテーブルの番地を計算し、短縮補償パラメータテーブル33からこの番地の内容を読み出す。この内容を元に、短縮補償計算部32内の回路定数を操作し、FECフレームの入力データに対して短縮されたことによってもたらされる結果と等価な計算を前もって行い、チェクビット計算部35に受け渡す。チェクビット計算部35は、短縮を考慮した計算は不要で、計算開始・終了の意味でのみフレームサイズを扱う。
図16において、短縮補償計算部32は、遅延メモリ221Aと、参照番地計算部222Aと、32台の乗算回路223とから構成される。遅延メモリ221Aは、短縮補償パラメータxh(j)ixh(j+1)i、(i=0-15)を受信して、乗算回路223のパラメータがセットされるまでのΔCHKの間、16ビット並列データを保持する。ここで、jは短縮度である。参照番地計算部222Aは、短縮補償サイズとFECフレームサイズに対応する短縮補償パラメータテーブルの番地を計算して、当該番地に記録された短縮補償パラメータを要求する。乗算回路223は、FECフレームトップ識別信号で、一旦リセットしたあと、受信した短縮補償パラメータに基づいて、パラメータ設定する。乗算回路223は、パラメータ設定した後、遅延メモリ221Aから上位または下位8ビットの並列データを受信し、乗算演算して、演算結果上位8ビットと下位8ビットのビット毎の排他的論理和を演算し、8ビット×16、合計128ビット並列の補償後データを出力する。
図17Aにおいて、短縮補償パラメータテーブル33Aは、番地毎に16バイトのパラメータを記載したテーブルである。ここで、番地は、0番地を除いて、短縮して省かれたバイト数+1である。短縮補償計算部32から番地を指定して、読み出し要求を受信したとき、短縮補償パラメータテーブル33Aは、当該番地の内容である短縮補償パラメータを、短縮補償計算部32に返信する。番地0から番地239には値が入るが、240〜255番地はd.c.となっている。また、短縮補償パラメータテーブル33の各番地の値は、乗算回路xh(j)15、…、xh(j)1、xh(j)0用のパラメータを予め演算して、設定しておく。
なお、G−PON下りのFECフレームサイズは、255、120なので、短縮補償パラメータテーブル33Aは、0番地、1番地、2番地と、135番地、136番地、137番地の6組であっても良い。また、FECの符号短縮の方法が、先頭からオール0を詰めていく先頭詰の場合、0番地、1番地、2番地の3組でよい。
図17Bにおいて、短縮補償パラメータテーブル33Bは、番地毎に16バイトのパラメータを記載したテーブルである。ここで、番地は、255番地を除いて短縮後のフレームサイズ−1である。図17Bは、図17Aと番地の定義が異なるだけなので、説明は省略する。
図18において、チェックビット計算部34は、16台のフリップフロップ241と、32台の固定乗算回路242と、16台の加算回路243と、メモリ342と、15台のfB生成部341とから構成される。チェックビット計算部34は、FECフレームトップ識別信号と、FECフレームサイズ信号と、FECフレームスタート位置情報と、補償後データとが入力され、16ビット並列のチェックビットが出力する。加算回路243は、排他的論理和(EOR)を演算する。なお、図中の線はいずれも8ビットパラレルの信号線である。
基本的な動作は、図12と同様であるので、省略するが、図18の中で破線で囲まれた部分がチェックビット計算単位ユニット343−kである。チェックビット計算単位ユニット343−kは、8ピットパラレルの補償後データINCHK_kと固定乗算回路242−kの出力とfBk−1生成部341−(k−1)の出力とを入力とする加算回路243−kと、加算回路243−kの出力を一時蓄えるフリップフロップ241−kと、固定乗算回路242−kと、fBk−1生成部341−(k−1)と、フリップフロップ241−15の出力を入力とする固定乗算回路242−(k−1)とから構成される。fBk−1生成部341−(k−1)の第2の入力は、前段のフリップフロップ241−(k−2)から供給される。また、フリップフロップ241−kの出力は、後段のfBk−1生成部341−(k+1)に供給される。
各演算は、FECフレームサイズのサイクルだけ繰り返す。次に、各フリップフロップ241の出力をメモリ342に取り込む。メモリ342からの出力は、上位8ビットパラレル、下位8ビットパラレルの、16ビットパラレル信号であり、Chk15、Chk14、…、Chk1、Chk0の順である。チェックビットの出力タイミングは、FECフレームサイズと、FECフレームトップ信号から計算する。また、チェックビット挿入部25から開始信号をもらっても良い。
図19において、fBk生成部341−kは、ビット毎の排他的論理和である。
図20において、チェックビット挿入部35は、セレクタ制御部251Aと、2台のセレクタ252とから構成される。セレクタ制御部251Aには、エンコード実行指示信号とFECフレームトップ識別信号とFECフレームサイズとFECフレームスタート位置情報とが入力され、セレクタ252を制御する。上位側セレクタ252−1は、データ格納メモリ31からのデータ入力である上位8ビット並列信号と、チェックビット計算部34からのチェックビットである上位8ビット並列信号とを入力とし、セレクタ制御部251Aの制御により、入力の一方を出力する。同様に、下位側セレクタ252−2は、データ格納メモリ31からのデータ入力である下位8ビット並列信号と、チェックビット計算部34からのチェックビットである下位8ビット並列信号とを入力とし、セレクタ制御部251Aの制御により、入力の一方を出力する。
チェックビット挿入部35は、エンコード実行指示信号が、FEC実行を指定していたとき、FECフレームのチェックビット位置のタイミングでは、チェックビットを選択する。一方、チェックビット挿入部35は、FECフレームのチェックビット位置以外のタイミングでは、データ入力側を選択する。
また、チェックビット挿入部35は、エンコード実行指示信号が、FEC非実行を指定していたとき、常にデータ入力側を選択する。
図21において、鍵型補償計算部36は、情報エリア最終位置計算部361と短縮サイズ計算部362とからなる。情報エリア最終位置計算部361はFECフレームサイズとFECフレームスタート位置情報から情報エリア最終位置情報を生成し、短縮サイズ計算部362に引き渡す。短縮サイズ計算部362は、この情報エリア最終位置情報とFECフレームサイズとから短縮補償サイズを計算する。
短縮サイズ計算部は、FECフレーム内の情報エリアの最後が下位側8bitにくるFECフレームに対しては、FECフレームサイズから計算される値“J”を短縮補償サイズとする。短縮サイズ計算部は、一方、FECフレーム内の情報エリアの最後が上位側8bitにくるFECフレームに対しては、FECフレームサイズBから計算される値“J”から“1”だけ引いた値を短縮補償サイズDとする。ここで、Jは短縮により省かれたバイト数である。
情報エリア最終位置計算部361は、情報エリアの最後が上位側8bit、下位側8bitのいずれにくるかを計算し、情報エリア最終位置情報として出力する。
図22において、(a)はFECエンコーダへの入力データ、(b)はFECフレームトップ識別信号、(c)はフレームサイズデータ、(d)はFECフレームスタート位置情報、(e)は短縮補償サイズ計算、(f)は短縮補償サイズ出力、(g)は短縮補償パラメータ、(h)は乗算回路再構成、(i)は補償後データ、(j)はチェックビット計算結果、(k)はデータ格納メモリからの読み出し、(l)はチェックビット挿入結果である。
FECエンコーダへの入力データの開始と同時に、FECフレームトップ識別信号が立上り、短縮補償パラメータの出力が立ち上がって乗算回路の再構成が終了した後、補償後データが出力される。FECフレームトップ識別信号の立上りから補償後データの立上りの期間がΔCHKである。
データ格納メモリからデータを読み出す一方で、チェックビット計算が終了した後、チェックビット部にチェックビットを挿入することによって、FECエンコーダ出力データが完成する。
図23において、パラメータ可変乗算回路223(xh(j)k)は、そのマトリックスパラメータAkを外部から与えられるh(j)kにより定められ、8ビット並列の入力uを、8ビット並列の出力wに変換する。マトリックスパラメータAkの各要素は0か1であり、インプットされるh(j)kにより一意に決まる。h(j)kは、ガロア体(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として、式4を計算することで得る。なお、式4の「+」は、排他的論理和である。
wは、マトリックスパラメータAkの要素と、uとから式5により求める。なお、・は論理積、+は排他的論理和である。
図24において、固定乗算回路242(xgk)は、そのマトリックスパラメータBkを用いて、8ビット並列の入力uを、8ビット並列の出力wに変換する。マトリックスパラメータBkの各要素は0か1である。gkは、ガロア体(256)の元であり、2進数8ビットで表記したものが、マトリックスパラメータBkの8行目(b81 b82 b83 b84 b85 b86 b87 b88)である。gkは、FECの生成多項式の係数である。
マトリックスパラメータBkの1〜7行目は、1≦m≦7のmに対して、m=7から順にp=m+1として、式6を計算することで得る。なお、式6の「+」は、排他的論理和である。
wは、マトリックスパラメータBkの要素と、uとから式
7により求める。なお、・は論理積、+は排他的論理和である。
上述した実施例では、短縮パラメータをテーブルとして持っているこの程度の少ない組数であれば、専用の乗算回路を複数個固定化して持ち、切り替えて使用することができる。FECの符号短縮の方法が先頭詰で、16ビット処理の場合は、xh(-1)k、xh(0)k、xh(1)kの専用の回路を持っておき、FECフレームサイズと、FECフレームスタート位置情報とから、FECフレーム毎にxh(j)k、xh(j+1)kとしてどの回路を用いるかを選択して使用することができる。どの回路を用いるかは、図16の参照番地計算部でどの番地を読み出すか、に相当している。
同様に、FECのフレームサイズが255または120で、16ビット処理の場合は、xh(-1)k、xh(0)k、xh(1)k、xh(134)k、xh(135)k、xh(136)kの専用の回路を持ち、FECフレーム毎にどの回路を用いるかを選択して使用することができる。