(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-08-05
(45)【発行日】2024-08-14
(54)【発明の名称】スクランブル回路、通信システム及びスクランブル方法
(51)【国際特許分類】
H04L 9/24 20060101AFI20240806BHJP
【FI】
H04L9/24
(21)【出願番号】P 2023100187
(22)【出願日】2023-06-19
【審査請求日】2023-06-19
(73)【特許権者】
【識別番号】591230295
【氏名又は名称】NTTイノベーティブデバイス株式会社
(74)【代理人】
【識別番号】110003199
【氏名又は名称】弁理士法人高田・高橋国際特許事務所
(72)【発明者】
【氏名】織茂 雅浩
(72)【発明者】
【氏名】畑 隆弘
【審査官】上島 拓也
(56)【参考文献】
【文献】特開平11-242437(JP,A)
【文献】特開昭61-278207(JP,A)
【文献】特開2001-237826(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/24
(57)【特許請求の範囲】
【請求項1】
一連のデータを連続的にスクランブルするスクランブル回路であって、
前記一連のデータをL(Lは自然数)個毎に区切りk(kは自然数)組ずつL×k個のデータを1つのデータセットとしてk系列で並列的にスクランブル処理を行うk個の仮スクランブル回路と、
前記一連のデータを入力せず初期値のみから出力データを生成するk個のパターン生成回路と、
前記k個の仮スクランブル回路の出力と前記k個のパターン生成回路の出力についてそれぞれ同じ順番のデータ毎に排他的論理和を求め、前記L×k個のデータに対する連続スクランブルデータを出力するk個のEXOR回路とを有し、
前記k個のパターン生成回路のうちのi番目(iは2以上k以下の自然数)のパターン生成回路の初期値として、i-1番目のEXOR回路の出力の一部を設定することを特徴とするスクランブル回路。
【請求項2】
前記k個の仮スクランブル回路の各々は線形帰還シフトレジスタであり、
前記k個のパターン生成回路の各々は前記仮スクランブル回路と同じ段数を有する線形帰還シフトレジスタであり、
前記k個の仮スクランブル回路の初期値は
オールゼロに固定されていることを特徴とする請求項1に記載のスクランブル回路。
【請求項3】
前記パターン生成回路の線形帰還シフトレジスタの段数がN(Nは自然数)であり、
i番目のパターン生成回路の初期値として、i-1番目のEXOR回路の出力の最終データからN個のデータを設定することを特徴とする請求項2に記載のスクランブル回路。
【請求項4】
1番目のパターン生成回路の初期値は、1つ前のデータセットがある場合はそのデータセットに対するk番目の仮スクランブル回路の出力の一部を設定し、1つ前のデータセットが無い場合はオールゼロを設定することを特徴とする請求項1~3の何れか1項に記載のスクランブル回路。
【請求項5】
前記k個の仮スクランブル回路の各々は、線形帰還シフトレジスタであるM個(Mは自然数)のサブスクランブル回路を含み、
前記M個のサブスクランブル回路のうちのj番目(jは2以上M以下の自然数)のサブスクランブル回路の初期値として、j-1番目のサブスクランブル回路の出力の一部を設定することを特徴とする請求項1~3の何れか1項に記載のスクランブル回路。
【請求項6】
前記仮スクランブル回路と前記EXOR回路との間に挿入されたフリップフロップ回路を更に有することを特徴とする請求項1~3の何れか1項に記載のスクランブル回路。
【請求項7】
請求項1~3の何れか1項に記載のスクランブル回路と、
前記スクランブル回路から出力されたスクランブルデータを通信路に送信する送信機と、
前記通信路から前記スクランブルデータを受信する受信機と、
前記受信機から出力された前記スクランブルデータをデスクランブルするデスクランブル回路とを有することを特徴とする通信システム。
【請求項8】
一連のデータを連続的にスクランブルするスクランブル方法であって、
前記一連のデータをL(Lは自然数)個毎に区切りk(kは自然数)組ずつL×k個のデータを1つのデータセットとしてk個の仮スクランブル回路によりk系列で並列的にスクランブル処理を行う工程と、
前記一連のデータを入力せず初期値のみから出力データを生成するk個のパターン生成回路の出力と前記k個の仮スクランブル回路の出力についてk個のEXOR回路によりそれぞれ同じ順番のデータ毎に排他的論理和を求め、前記L×k個のデータに対する連続スクランブルデータを出力する工程とを有し、
前記k個のパターン生成回路のうちのi番目(iは2以上k以下の自然数)のパターン生成回路の初期値として、i-1番目のEXOR回路の出力の一部を設定することを特徴とするスクランブル方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、スクランブル回路、通信システム及びスクランブル方法に関する。
【背景技術】
【0002】
通信システムにおいてスクランブル回路が用いられている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、データが高速化しているのに対し、従来のスクランブル回路の動作では対応できないという問題があった。
【0005】
本開示は、上述のような課題を解決するためになされたもので、その目的はスクランブルの処理時間を低減することができるスクランブル回路、通信システム及びスクランブル方法を得るものである。
【課題を解決するための手段】
【0006】
本開示に係るスクランブル回路は、一連のデータを連続的にスクランブルするスクランブル回路であって、前記一連のデータをL(Lは自然数)個毎に区切りk(kは自然数)組ずつL×k個のデータを1つのデータセットとしてk系列で並列的にスクランブル処理を行うk個の仮スクランブル回路と、前記一連のデータを入力せず初期値のみから出力データを生成するk個のパターン生成回路と、前記k個の仮スクランブル回路の出力と前記k個のパターン生成回路の出力についてそれぞれ同じ順番のデータ毎に排他的論理和を求め、前記L×k個のデータに対する連続スクランブルデータを出力するk個のEXOR回路とを有し、前記k個のパターン生成回路のうちのi番目(iは2以上k以下の自然数)のパターン生成回路の初期値として、i-1番目のEXOR回路の出力の一部を設定することを特徴とする。
【発明の効果】
【0007】
本開示では、並列的にスクランブル処理を行うため、シリアル処理の段数を削減することができる。これにより、スクランブルの処理時間を低減することができるため、データが高速化した場合にも対応することができる。
【図面の簡単な説明】
【0008】
【
図1】実施の形態1に係る通信システムを示す図である。
【
図3】汎用スクランブル回路を仮スクランブル回路とパターン生成回路に分解した図である。
【
図4】汎用スクランブル回路の出力と
図3のスクランブル回路の出力を示す図である。
【
図5】仮スクランブル回路の初期値をゼロとした場合の
図3のスクランブル回路の出力を示す図である。
【
図6】
図3のスクランブル回路を2並列処理構成に変更した図である。
【
図7】
図6のスクランブル回路の出力を示す図である。
【
図8】実施の形態1に係るスクランブル回路を示す図である。
【
図9】実施の形態1に係るスクランブル回路により1セット目のデータを2並列処理するスキームを示す図である。
【
図10】実施の形態1に係るスクランブル回路により2セット目のデータを2並列処理するスキームを示す図である。
【
図11】実施の形態1に係るスクランブル回路によりmセット目のデータをk並列処理するスキームを示す図である。
【
図12】実施の形態1に係るスクランブル回路によりm+1セット目のデータをk並列処理するスキームを示す図である。
【
図13】実施の形態2に係るスクランブル回路を示す図である。
【
図14】実施の形態2のサブスクランブル回路に3段の線形帰還シフトレジスタを適用した例を示す図である。
【
図16】比較例に係るスクランブル回路を示す図である。
【
図17】実施の形態2のサブスクランブル回路に58段の線形帰還シフトレジスタを適用した例を示す図である。
【
図20】実施の形態2のサブスクランブル回路に58段の線形帰還シフトレジスタを適用し、サブスクランブル数を8段にした例を示す図である。
【
図21】
図20のスクランブル回路が実行する演算を示す図である。
【発明を実施するための形態】
【0009】
実施の形態に係るスクランブル回路、通信システム及びスクランブル方法について図面を参照して説明する。同じ又は対応する構成要素には同じ符号を付し、説明の繰り返しを省略する場合がある。
実施の形態1.
【0010】
図1は、実施の形態1に係る通信システムを示す図である。同じデータが連続すると受信側でビットのタイミングの取得が難しくなる。この問題を解消するために、送信側でスクランブル回路100が一連のデータを連続的にスクランブルする。送信機200は、スクランブル回路100から出力されたスクランブルデータを光ファイバなどの通信路300に送信する。受信機400は通信路300からスクランブルデータを受信して復号する。デスクランブル回路500は、受信機400が出力したスクランブルデータをデスクランブルして元のデータに戻す。
【0011】
続いて、本実施の形態に係るスクランブル回路を説明する前に、汎用スクランブル回路を仮スクランブル回路とパターン生成回路に分解できることを説明する。
【0012】
図2は汎用スクランブル回路を示す図である。汎用スクランブル回路は、線形帰還形シフトレジスタであり、3段のシフトレジスタD0,D1,D2とEXOR回路EXa,EXbを有する。S(n)は各レジスタの初期値である(n=0,1,2)。汎用スクランブル回路は、シリアルデータI(0),I(1),I(2)を順に入力しスクランブルしてO(0),O(1),O(2)を順に出力する。
【0013】
1段目のシフトレジスタD0の出力と3段目のシフトレジスタD2の出力の排他的論理和を計算し、その演算結果と入力データの排他的論理和を計算したものを1段目のシフトレジスタD0の入力に帰還している。上記の汎用スクランブル回路の帰還多項式は1+X+X^3と表現できる。
【0014】
図3は、汎用スクランブル回路を仮スクランブル回路とパターン生成回路に分解した図である。
図2の汎用スクランブル回路は、データを入力してスクランブル処理を行う仮スクランブル回路TSと、データを入力せず初期値のみから出力データを生成するパターン生成回路PGとに分解できる。パターン生成回路PGは、仮スクランブル回路TSと同じ段数を有する線形帰還シフトレジスタである。仮スクランブル回路TSの出力Aはフリップフロップ回路FFで保持される。EXOR回路EXは、仮スクランブル回路TSの出力Aとパターン生成回路PGの出力Bとの排他的論理和を求め、スクランブル出力として出力する。
【0015】
c(n)は仮スクランブル回路TSの各レジスタの初期値である(n=0,1,2)。d(n)はパターン生成回路PGの各レジスタの初期値である(n=0,1,2)。本明細書において“*”は排他的論理和を示すとし、汎用スクランブル回路の各レジスタの初期値S(n)をS(n)=c(n)*d(n)とする。
【0016】
図4は、汎用スクランブル回路の出力と
図3のスクランブル回路の出力を示す図である。時刻t=0において、入力がI(0)、シフトレジスタD0の出力がS(2)、D1がS(1)、シフトレジスタD2の出力がS(0)とした場合、汎用スクランブル回路の出力O(0)は「I(0)*S(2)*S(0)」と表される。汎用スクランブル回路を仮スクランブル回路TSとパターン生成回路PGに分解した場合、S(2)=c(2)*d(2)、S(0)=c(0)*d(0)であるので、出力O(0)はI(0)*c(2)*d(2)*c(0)*d(0)=(I(0)*c(2)*c(0))*(d(2)*d(0))と表される。時刻t=Nについても同様に表される。従って、
図2の汎用スクランブル回路のスクランブル出力O(0)は、
図3の仮スクランブル回路TSの出力Aとパターン生成回路PGの出力Bとの排他的論理和で表せる。よって、汎用スクランブル回路は仮スクランブル回路TSとパターン生成回路PGとに分解することができる。
【0017】
図5は、仮スクランブル回路の初期値をゼロとした場合の
図3のスクランブル回路の出力を示す図である。仮スクランブル回路TSの初期値をゼロとする(c(2)=c(1)=c(0)=0)と、仮スクランブル回路TSの出力Aは入力データI(n)のみで求めることができる。従って、仮スクランブル回路TSの計算を簡単に行うことができる。パターン生成回路PGの出力Bは初期値d(0)~d(2)のみで求めることができる。
【0018】
続いて、仮スクランブル回路とパターン生成回路に分解したスクランブル回路を並列処理構成に変更できることを説明する。
図6は、
図3のスクランブル回路を2並列処理構成に変更した図である。仮スクランブル回路とパターン生成回路を2組用意する。分割器DIVが、入力データを所定の数L=10個ずつ2つに分割する。入力データI(0)~I(19)のうち、最初の10個のデータI(0)~I(9)を上段の仮スクランブル回路TS
1へ入力し、次の10個のデータI(10)~I(19)を下段の仮スクランブル回路TS
2へ入力する。上段のEXOR回路EX
1は、仮スクランブル回路TS
1の仮出力A1とパターン生成回路PG
1の出力B1との排他的論理和を求める。下段のEXOR回路EX
2は、仮スクランブル回路TS
2の仮出力A2とパターン生成回路PG
2の出力B2との排他的論理和を求める。合成器SYNが上段のEXOR回路EX
1の出力と下段のEXOR回路EX
2の出力を合成してスクランブル出力O(17)~O(19)を出力する。
【0019】
下段のパターン生成回路PG2の初期値に上段のEXOR回路EX1の最終出力O(7)~O(9)を設定する。これにより、下段のスクランブル出力は、上段のスクランブル出力の結果を引き続いてスクランブルした結果とすることができる。
【0020】
次のデータセットI(20)~I(39)も同様に、最初の10個のデータI(20)~I(29)を上段の回路へ入力し、次の10個のデータI(30)~I(39)を下段の回路へ入力する。ただし、上段のパターン生成回路PG1の初期値には、前セットでの下段のEXOR回路EX2の最終出力O(17)~O(19)を設定する。下段のパターン生成回路PG2の初期値には、上段のEXOR回路EX1の最終出力O(27)~O(29)を設定する。
【0021】
以上説明したように、
図6のスクランブル回路は2並列処理構成によって2L=20個ずつスクランブル処理する。これにより、
図3のスクランブル回路に比べて処理時間を短縮することができる。
【0022】
図7は、
図6のスクランブル回路の出力を示す図である。
図6のスクランブル回路に入力データとして20個のデータI(0)~I(19)を入力する。入力I(0)~I(9)に対応する出力O(0)~O(9)は、入力I(0)~I(9)だけで計算される上段の仮スクランブル回路TS
1の出力A1と、初期値S(0)~S(2)だけで計算される上段のパターン生成回路PG
1の出力B1との排他的論理和で表すことができる。
【0023】
また、入力I(10)~I(19)に対する出力O(10)~O(19)は、入力I(10)~I(19)だけで計算される下段の仮スクランブル回路TS2の出力A2と、上段のEXOR回路EX1の出力O(7)~O(9)のみで計算される下段のパターン生成回路PG2の出力B2との排他的論理和で表すことができる。なお、B2は、初期値をO(7)~O(9)に設定した場合のパターン生成回路PG2の出力である。
【0024】
上記のA1及びA2は、入力I(0)~I(9)及び入力I(10)~I(19)に対して同時に並列的に計算できる。B1は、上段のパターン生成回路PG1の初期値に予め設定したS(0)~S(2)のみで瞬時に計算できる。B2は、上段の回路において出力O(7)~O(9)が計算された時点で瞬時に計算できる。従って、20個の入力データI(0)~I(19)に対するスクランブル出力O(0)~O(19)は並列的に計算することができる。これにより、スクランブルの処理時間を低減することができる。なお、続くI(20)~I(39)に対するスクランブル出力O(20)~O(39)についても同様に計算できる。
【0025】
図8は、実施の形態1に係るスクランブル回路を示す図である。入力データは一連のシリアルデータである。この一連のデータをL(自然数)個毎に区切って1つの組とする。k(自然数)組ずつL×k個のデータを1つのデータセットとする。例えばLは512個である。なお、
図8には示されていないが、入力データの分割には
図6の分割器DIVが用いられる。
【0026】
スクランブル回路100は、互いに並列なk個の仮スクランブル回路TS
1~TS
kと、それらにそれぞれ対応するk個のパターン生成回路PG
1~PG
kと、k個のEXOR回路EX
1~EX
kとを有する並列処理型スクランブル回路である。仮スクランブル回路TS
1~TS
kの各々は線形帰還シフトレジスタである。パターン生成回路PG
1~PG
kの各々は、仮スクランブル回路TS
1~TS
kと同じ段数を有する線形帰還シフトレジスタである。なお、
図8には示されていないが、仮スクランブル回路TS
1~TS
kと対応するEXOR回路EX
1~EX
kとの間には
図3に示すようにフリップフロップ回路FFが挿入されている。
【0027】
k個の仮スクランブル回路TS1~TSkは、L×k個のデータを1つのデータセットとしてk系列で並列的にスクランブル処理を行って、L×k個のスクランブルデータを出力する。即ち、各々の仮スクランブル回路TS1~TSkはL個のデータのスクランブル処理を行ってL個のスクランブルデータを出力する。パターン生成回路PG1~PGkは、上記の一連のデータを入力せず、初期値のみから出力データを生成する。
【0028】
k個のEXOR回路EX
1~EX
kは、k個の仮スクランブル回路TS
1~TS
kの出力とk個のパターン生成回路PG
1~PG
kの出力についてそれぞれ同じ順番のデータ毎に排他的論理和を求め、L×k個のデータに対する連続スクランブルデータを出力する。例えば、1番目のEXOR回路EX
1は、1番目の仮スクランブル回路TS
1の出力と1番目のパターン生成回路PG
1の出力について同じ順番のデータ毎に排他的論理和を求める。EXOR回路EX
1~EX
kから出力されたスクランブルデータが合成されてスクランブル出力が出力される。なお、
図8には示されていないが、スクランブルデータの合成には
図6の合成器SYNが用いられる。
【0029】
k個の仮スクランブル回路TS1~TSkの初期値は全て0又は1に固定されている。k個のパターン生成回路PG1~PGkのうちのi番目(iは2以上k以下の自然数)のパターン生成回路PGiの初期値として、i-1番目のEXOR回路EXi-1の出力の一部を設定する。パターン生成回路PG1~PGkの各々の段数がN(Nは自然数)である場合、i番目のパターン生成回路PGiの初期値として、i-1番目のEXOR回路EXi-1の出力の最終データからN個のデータを設定する。1番目のパターン生成回路PG1の初期値は、1つ前のデータセットがある場合はそのデータセットに対するk番目の仮スクランブル回路TSkの出力の一部を設定し、1つ前のデータセットが無い場合はオールゼロを設定する。
【0030】
具体的には、1(m=1)セット目の最初のL個のデータを1番目の仮スクランブル回路TS1でスクランブルし、その出力と1番目のパターン生成回路PG1の出力との排他的論理和を求める。1番目のパターン生成回路PG1の初期値はゼロである。1セット目の次のL個のデータを2番目の仮スクランブル回路TS2でスクランブルし、その出力と2番目のパターン生成回路PG2の出力との排他的論理和を求める。2番目のパターン生成回路PG2の初期値として1番目のEXOR回路EX1の出力の最終部分を設定する。同様に、1セット目のk番目のL個のデータをk番目の仮スクランブル回路TSkでスクランブルし、その出力とk番目のパターン生成回路PGkの出力との排他的論理和を求める。k番目のパターン生成回路PGkの初期値としてk-1番目のEXOR回路EXk-1の出力の最終部分を設定する。なお、全ての仮スクランブル回路TS1~TSkの初期値はゼロである。
【0031】
次に、2(m=2)セット目の最初のL個のデータを1番目の仮スクランブル回路TS1でスクランブルし、その出力と1番目のパターン生成回路PG1の出力との排他的論理和を求める。1番目のパターン生成回路PG1の初期値として1セット目のk番目のEXOR回路EXkの出力の最終部分を設定する。2セット目の次のL個のデータを2番目の仮スクランブル回路TS2でスクランブルし、その出力と2番目のパターン生成回路PG2の出力との排他的論理和を求める。2番目のパターン生成回路PG2の初期値として1番目のEXOR回路EX1の出力の最終部分を設定する。以降、1セット目と同様である。
【0032】
上記のスクランブル回路によって1つのデータセット内においてL個のデータがk組並列処理された結果は、L個×k組のデータがシリアル化されたシリアルデータを連続してスクランブル処理された結果と同じになる。次のデータセットに対しても同様に、L個のデータがk並列処理される。その結果は、前セットのL個×k組のデータと当該セットのL個×k組のデータがシリアル化されたシリアルデータを連続してスクランブル処理された結果と同じになる。
【0033】
続いて、実施の形態1に係るスクランブル回路を用いて、入力データを連続的に2並列でスクランブル処理するスキームについて説明する。
図9は、実施の形態1に係るスクランブル回路により1セット目のデータを2並列処理するスキームを示す図である。入力データのうち20個を1つのデータセットとする。1セット目のデータの前半10個I(0)~I(9)を1番目の仮スクランブル回路TS
1に入力し、後半10個I(10)~I(19)を2番目の仮スクランブル回路TS
2に同時に入力する。仮スクランブル回路TS
1,TS
2の初期値はオールゼロ、1番目のパターン生成回路PG
1の初期値はオールゼロ、2番目のパターン生成回路PG
2の初期値として1番目のEXOR回路EX
1の出力の最終部分を設定する。
【0034】
図10は、実施の形態1に係るスクランブル回路により2セット目のデータを2並列処理するスキームを示す図である。2セット目のデータの20個の前半10個I(20)~I(29)を同じスクランブル回路100の1番目の仮スクランブル回路TS
1に入力し、後半10個I(30)~I(39)を2番目の仮スクランブル回路TS
2に同時に入力する。仮スクランブル回路TS
1,TS
2の初期値はオールゼロである。1番目のパターン生成回路PG
1の初期値として1セット目における2番目のEXOR回路EX
2の出力の最終部分を設定する。2番目のパターン生成回路PG
2の初期値として1番目のEXOR回路EX
1の出力の最終部分を設定する。以降のセットについても、同様のスキームで計算を行う。
【0035】
図9及び
図10を用いて2並列処理するスキームを説明したが、以下ではk並列処理に一般化したスキームを説明する。
図11は、実施の形態1に係るスクランブル回路によりmセット目のデータをk並列処理するスキームを示す図である。スクランブル回路100は、mセット目にあるL個×k組のデータをk並列処理する。
【0036】
図12は、実施の形態1に係るスクランブル回路によりm+1セット目のデータをk並列処理するスキームを示す図である。スクランブル回路100は、mセット目のデータに続いて、m+1セット目のデータをk並列処理する。1番目のパターン生成回路PG
1の初期値としてmセット目におけるk番目のEXOR回路EX
kの出力の最終部分を設定する。このようにk並列処理することにより、入力データのスクランブル処理時間を1/kに短縮できる。
【0037】
続いて、本実施の形態の効果を汎用スクランブル回路と比較して説明する。汎用スクランブル回路では、1つ目の入力I(0)が入力した時点で1つ目の出力O(0)が出力される。従って、所定の数のデータをスクランブルする場合、所定の数に比例した処理時間を必要とする。このため、データが高速化した場合にスクランブル回路の動作が対応できない。これに対して、本実施の形態では、並列的にスクランブル処理を行うため、シリアル処理の段数を削減することができる。これにより、スクランブルの処理時間を低減することができるため、データが高速化した場合にも対応することができる。
【0038】
実施の形態2.
図13は、実施の形態2に係るスクランブル回路を示す図である。本実施の形態では、k個の仮スクランブル回路TS
1~TS
kの各々は、線形帰還シフトレジスタであるM個(Mは自然数)のサブスクランブル回路SS
1~SS
Mを含む。実施の形態1の仮スクランブル回路は、実施の形態2の仮スクランブル回路におけるサブスクランブル回路が一つの場合と等価になる。
【0039】
仮スクランブル回路TS1~TSkの各々に入力する所定の数LのデータをP個ずつM個に分け(L=P×M)、それぞれをM個のサブスクランブル回路SS1~SSMへ入力する。M個のサブスクランブル回路SS1~SSMのうちのj番目(jは2以上M以下の自然数)のサブスクランブル回路SSjの初期値として、j-1番目のサブスクランブル回路SSj-1の出力の一部を設定する。これにより、連続的にスクランブル処理を行うことができる。その他の構成は実施の形態1と同様である。
【0040】
一般的に入力データはメモリ上で所定の範囲に分かれて記録されている。従って、複数の線形帰還シフトレジスタに分けて、その範囲ごとに処理することで効率的に処理を行うことができる。なお、これにより仮スクランブル回路TS1~TSkの合計の処理時間が低減することはない。例えば、L=512ビットの入力データがM=8個のメモリスタックに分けられている場合、分けられたデータ(P=64ビット)のままM個のサブスクランブル回路SS1~SSMへ入力することができるため、効率的な入出力供給処理が行える。
【0041】
図14は、実施の形態2のサブスクランブル回路に3段の線形帰還シフトレジスタを適用した例を示す図である。3段の線形帰還シフトレジスタの帰還多項式は1+X+X^3と表現できる。1データセットのデータ数が20個、並列処理数kが2、仮スクランブル回路に含まれるサブスクランブル回路の数Mが2個である。
【0042】
仮スクランブル回路TS1,TS2が入力データI(0)~I(9)と入力データI(10)~I(19)を並列処理する。仮スクランブル回路TS1,TS2の各々は2つのサブスクランブル回路SS1,SS2で順次的に処理を行う。具体的には、仮スクランブル回路TS1において、サブスクランブル回路SS1がI(0)~I(4)をスクランブル処理し、サブスクランブル回路SS2がI(5)~I(9)をスクランブル処理する。仮スクランブル回路TS2において、サブスクランブル回路SS1がI(10)~I(14)をスクランブル処理し、サブスクランブル回路SS2がI(15)~I(19)をスクランブル処理する。
【0043】
仮スクランブル回路TS1のサブスクランブル回路SS1の初期値S(0)~S(2)はオールゼロであり、仮スクランブル回路TS1のサブスクランブル回路SS2の初期値としてサブスクランブル回路SS1の最終データO(4)~O(2)を設定する。初回のデータでは、1番目のパターン生成回路PG1の初期値S(0)~S(2)としてオールゼロを設定する。
【0044】
仮スクランブル回路TS2のサブスクランブル回路SS1の初期値O(9)~O(7)はオールゼロであり、仮スクランブル回路TS2のサブスクランブル回路SS2の初期値はサブスクランブル回路SS1として最終データO(14)~O(12)を設定する。2番目のパターン生成回路PG2の初期値としてEXOR回路EX1の最終データO(9)~O(7)を設定する。これ以降も同様に10データ×2ずつスクランブル処理を行う。ただし、1番目のパターン生成回路PG1の初期値として、前回のデータセットにおけるEXOR回路EX2の最終データ3個を設定する。
【0045】
図15は、
図14のスクランブル回路の出力を示す図である。仮スクランブル回路TS
1に1番目のデータセットのうちI(0)~I(9)が入力される。仮スクランブル回路TS
1のサブスクランブル回路SS
1が、初期値S(0)~S(2)=0として出力A11を計算する。仮スクランブル回路TS
1のサブスクランブル回路SS
2が、初期値としてO(2)~O(4)を設定して、出力A12を計算する。(A11+A12)が仮スクランブル回路TS
1の仮出力A1となる。パターン生成回路PG
1が、初期値S(0)~S(2)=0として出力B1を計算する。EXOR回路EX
1が仮出力A1と出力B1の排他的論理和(A1*B1)を計算して、出力O(0)~O(9)が求まる。
【0046】
仮スクランブル回路TS2に1番目のデータセットのうちI(10)~I(19)が入力される。仮スクランブル回路TS2のサブスクランブル回路SS1が、初期値としてO(7)~O(9)=0を設定して、出力A21を計算する。仮スクランブル回路TS2のサブスクランブル回路SS2が、初期値としてO(12)~O(14)を設定して、出力A22を計算する。(A21+A22)が仮スクランブル回路TS2の仮出力A2となる。パターン生成回路PG2が、初期値としてO(7)~O(9)を設定して、出力B2を計算する。EXOR回路EX2が仮出力A2と出力B2の排他的論理和(A2*B2)を計算して、出力O(10)~O(19)が求まる。
【0047】
以上より、1番目のデータセットI(0)~I(19)の入力に対して、スクランブル出力O(0)~O(19)が2並列処理によって求まる。2番目のデータセットI(20)~I(39)の入力に対しても同様にスクランブル処理を行うが、パターン生成回路PG1の初期値としてO(17)~O(19)を設定する。
【0048】
続いて、実施の形態2のサブスクランブル回路に58段の線形帰還シフトレジスタを適用した場合について比較例と比較して説明する。
図16は、比較例に係るスクランブル回路を示す図である。比較例では、フリップフロップ回路FF1,FF2間に58段のスクランブル回路Scr_core[0]~Scr_core[15]を16段接続してシリアル処理を行う。各スクランブル回路の帰還多項式は1+x^39+x^58と表現できる。
【0049】
比較例において、各スクランブル回路は入力データidat1と初期値idat2を入力し、出力データodatを出力する。1サイクル目はスクランブル回路Scr_core[0]の初期値としてオール0を設定する。2サイクル目からは前サイクルのスクランブル回路Scr_core[15]の出力[65:8]を設定する。スクランブル回路Scr_core[n](0≦n≦14)が66bit分計算した出力のうちのs0~s57をスクランブル回路Scr_core[n+1]の初期値として設定する。スクランブル回路Scr_core[0]~Scr_core[15]の出力[65:0],[131:66]・・・[1055:990]をフリップフロップ回路FF1に入力し、最終的な出力として[1055:0]を得る。
【0050】
比較例に係るスクランブル回路による16段シリアル処理ではフリップフロップ回路FF1,FF2間の論理回路が多くなり、入力信号が高速化(例えば、400Gbps→800Gbps)した場合に論理合成でタイミングを満たせなくなる。
【0051】
図17は、実施の形態2のサブスクランブル回路に58段の線形帰還シフトレジスタを適用した例を示す図である。1つのデータセットのデータ数は264個である(1番目のデータセットのみ262個)。並列処理数kは2、サブスクランブル数Mは2個である。入力データI(0)~I(263)において、I(0)とI(1)はスクランブルせず固定であり、I(2)~I(263)に対してスクランブル処理を行う。
【0052】
前データセットのEXOR回路EX2の最終データ58個をパターン生成回路PG1の初期値に設定する。ただし、初回のデータセットのみ、パターン生成回路PG1の初期値をオールゼロに設定する。パターン生成回路PG2の初期値に出力0(74)~0(131)を設定する。EXOR回路EX2の最終データ58個を次のデータセットにおいてパターン生成回路PG1の初期値に設定する。
【0053】
仮スクランブル回路TS1,TS2が入力データI(2)~I(131)と入力データI(132)~I(263)を並列処理する。2番目以降のデータセットに対しても同様に132データずつ2並列でスクランブル処理を行う。このように並列的にスクランブル処理を行うことでシリアル処理の段数を削減することができるため、比較例に比べてスクランブル処理の時間を低減することができる。
【0054】
図18及び
図19は、
図17のスクランブル回路の出力を示す図である。仮スクランブル回路TS
1に1番目のデータセットのうちI(2)~I(131)が入力される。仮スクランブル回路TS
1のサブスクランブル回路SS
1が、初期値S(0)~S(57)=0として出力A11を計算する。仮スクランブル回路TS
1のサブスクランブル回路SS
2が、初期値としてO(8)~O(65)を設定して、出力A12を計算する。(A11+A12)が仮スクランブル回路TS
1の仮出力A1となる。パターン生成回路PG
1が、初期値S(0)~S(57)=0として出力B1を計算する。EXOR回路EX
1が仮出力A1と出力B1の排他的論理和(A1*B1)を計算して、出力O(2)~O(131)が求まる。
【0055】
仮スクランブル回路TS2に1番目のデータセットのうちI(132)~I(263)が入力される。仮スクランブル回路TS2のサブスクランブル回路SS1が、初期値としてO(74)~O(131)=0を設定して、出力A21を計算する。仮スクランブル回路TS2のサブスクランブル回路SS2が、初期値としてO(140)~O(197)を設定して、出力A22を計算する。(A21+A22)が仮スクランブル回路TS2の仮出力A2となる。パターン生成回路PG2が、初期値としてO(74)~O(131)を設定して、出力B2を計算する。EXOR回路EX2が仮出力A2と出力B2の排他的論理和(A2*B2)を計算して、出力O(132)~O(263)が求まる。
【0056】
以上より、1番目のデータセットI(2)~I(263)の入力に対して2並列でスクランブル処理してスクランブル出力O(2)~O(263)が求まる。2番目のデータセットI(264)~I(527)の入力に対しても同様にスクランブル処理を行うが、パターン生成回路PG1の初期値としてO(206)~O(263)を設定する。
【0057】
図20は、実施の形態2のサブスクランブル回路に58段の線形帰還シフトレジスタを適用し、サブスクランブル数を8段にした例を示す図である。1つのデータセットのデータ数は1056個、並列処理数kは2、サブスクランブル数Mは8個である。仮スクランブル回路TS
1,TS
2のサブスクランブル回路SS
0~SS
7は58段の線形帰還シフトレジスタである。各サブスクランブル回路は入力データidat1[65:0]をパラレルに入力し、出力データwa_dat[65:0]をパラレルに出力する。1番目のサブスクランブル回路SS
0の初期値idat2はオールゼロである。サブスクランブル回路SS
1の初期値idat2としてサブスクランブル回路SS
0の出力[57:0]を設定する。パターン生成回路PG
1は最終段の66Bデータに相当する[527:462]から下段の66B×8データ分のパターン生成を行う。パターン生成回路PG
2は最終段の66Bデータに相当する[1055:990]から上段の66B×8データ分のパターン生成を行う。
【0058】
図21は、
図20のスクランブル回路が実行する演算を示す図である。この演算は、66bitパラレルデータに対する多項式G(x)=1+x^39+x^58を展開したものである。66bitの最初の2bitはヘッダデータになるため、スクランブル処理をしない。従って、出力データwa_datのbit0,1は、それぞれwa_dat[0]=idat1[0]、wa_dat[1]=idat1[1]となる。出力データwa_datのbit2-65は、
図21に示すように、入力データの演算と初期値の演算の排他的論理和を実施したものとなる。
【0059】
図21の入力データの演算を
図20の仮スクランブル回路TS
1,TS
2のサブスクランブル回路SS
0~SS
7が実施し、初期値の演算をパターン生成回路PG
1,PG
2が実施する。
【0060】
まず、仮スクランブル回路TS1,TS2のサブスクランブル回路SS0~SS7が、入力データに対して、初期値を固定値(ここではオール0)として演算を実施する。EXOR回路EX2の演算結果が確定した時点でパターン生成回路PG1が演算を実施し、その演算結果と仮スクランブル回路TS1の演算結果の排他的論理和を計算する。EXOR回路EX1の演算結果が確定した時点でパターン生成回路PG2が演算を実施し、その演算結果と仮スクランブル回路TS2の演算結果の排他的論理和を計算する。前段の仮スクランブル回路TS1,TS2が初期値を固定値として演算を実施するため、それを補正するために後段のパターン生成回路PG1,PG2の演算結果との排他的論理和を計算している。
【0061】
以上説明したように、本実施の形態では、仮スクランブル回路TS1~TSkの各々は複数のサブスクランブル回路を含む。これにより、メモリ上で所定の範囲に分かれた記録された入力データをその範囲ごとに処理することで効率的に処理を行うことができる。また、実施の形態1と同様に、並列的にスクランブル処理を行うため、シリアル処理の段数を削減することができる。これにより、スクランブルの処理時間を低減することができるため、データが高速化した場合にも対応することができる。
【符号の説明】
【0062】
100 スクランブル回路、200 送信機、300 通信路、400 受信機、500 デスクランブル回路、EX1~EXk EXOR回路、FF2 フリップフロップ回路、PG1~PGk パターン生成回路、TS1~TSk 仮スクランブル回路、SS0~~SSM サブスクランブル回路
【要約】
【課題】スクランブルの処理時間を低減することができるスクランブル回路、通信システム及びスクランブル方法を得る。
【解決手段】k個の仮スクランブル回路TS
1~TS
kは、一連のデータをL(Lは自然数)個毎に区切りk(kは自然数)組ずつL×k個のデータを1つのデータセットとしてk系列で並列的にスクランブル処理を行う。k個のパターン生成回路PG
1~PG
kは、一連のデータを入力せず初期値のみから出力データを生成する。k個のEXOR回路EX
1~EX
kは、k個の仮スクランブル回路TS
1~TS
kの出力とk個のパターン生成回路PG
1~PG
kの出力についてそれぞれ同じ順番のデータ毎に排他的論理和を求め、L×k個のデータに対する連続スクランブルデータを出力する。k個のパターン生成回路PG
1~PG
kのうちのi番目(iは2以上k以下の自然数)のパターン生成回路PG
iの初期値として、i-1番目のEXOR回路PG
i-1の出力の一部を設定する。
【選択図】
図8