(57)【要約】  複数の状態機械と、多重化器とを含み、生成関数及び生成関数の初期状態で定義されるビットシーケンスを発生させるビットシーケンス発生器である。上記複数の状態機械に含まれる各状態機械は、時間インタリーブされたビットシーケンスを発生させ、状態機械は、時間インタリーブされたビットシーケンスのビットを現在の時間ステップにおいて発生させることを、先行する時間ステップにおいて、その状態機械が発生させた少なくとも１つのビットに基づいて、且つ、発生させるビットシーケンスの生成関数に基づいて、且つ、生成関数の初期状態に基づいて、且つ、上記複数の状態機械に含まれる別の状態機械が発生させた、時間インタリーブされたビットシーケンスとは独立に行う。更に、多重化器が、発生した、時間インタリーブされたビットシーケンスのそれぞれから１つのビットを連続的に選択することを繰り返すことにより、生成関数及び生成関数の初期状態によって定義されるビットシーケンスを生成する。【選択図】図３
2013534336.tif 000002
【特許請求の範囲】
【請求項１】
生成関数及び前記生成関数の初期状態で定義されるビットシーケンス（１２２、ｓ（ｉ））を発生させるビットシーケンス発生器（１００、３００、４００）であって、
複数の状態機械であって、前記複数の状態機械に含まれる各状態機械（１１０、３１０）は、時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））を発生させるように構成されており、状態機械（１１０、３１０）が、現在の時間ステップにおいて、前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））のビットを発生させることを、先行する時間ステップにおいて、前記状態機械（１１０、３１０）が発生させた少なくとも１つのビットに基づいて、且つ、発生させる前記ビットシーケンス（１２２、ｓ（ｉ））の前記生成関数に基づいて、且つ、前記生成関数の前記初期状態に基づいて、且つ、前記複数の状態機械（１１０、３１０）に含まれる別の状態機械（１１０、３１０）が発生させた前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））とは独立に行う、前記複数の状態機械と、
発生した、時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））のそれぞれから１つのビットを連続的に選択することを繰り返すことにより、前記生成関数及び前記生成関数の前記初期状態で定義される前記ビットシーケンス（１２２、ｓ（ｉ））を生成するように構成された多重化器（１２０）と、
を備えるビットシーケンス発生器。
【請求項２】
前記複数の状態機械に含まれる状態機械（１１０、３１０）が、各時間ステップにおいて、対応する前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））のうちの事前定義された数（Ｒ）のビットを発生させるように構成されている、請求項１に記載のビットシーケンス発生器。
【請求項３】
前記複数の状態機械に含まれる状態機械（１１０、３１０）が、前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））のうちの前記事前定義された数（Ｒ）のビットをサブビットレートで発生させるように構成されており、前記多重化器（１２０）は、前記生成したビットシーケンスを、前記サブビットレートの整数倍であるフルビットレートで出力するように構成されている、請求項２に記載のビットシーケンス発生器。
【請求項４】
前記整数倍の整数は、前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））のうちの前記事前定義されたビット数（Ｒ）と、前記複数の状態機械（１１０、３１０）に含まれる状態機械の数（Ｍ）との積である、請求項３に記載のビットシーケンス発生器。
【請求項５】
前記複数の状態機械に含まれる前記状態機械（１０、３１０）の状態は、同じ時間ステップの間に前記状態機械（１１０、３１０）がパラレルに発生させる事前定義された数（Ｎ）の状態ビットで定義され、前記事前定義された数（Ｎ）の状態ビットは、同じ時間ステップにおける前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））のうちの少なくとも前記事前定義された数（Ｒ）のビットを含む、請求項２から４のいずれか一項に記載のビットシーケンス発生器。
【請求項６】
前記状態機械（１１０、３１０）はシリアライザ（３３０）を備えており、前記シリアライザ（３３０）は、前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））のうちの、ある時間ステップにおいて発生する前記状態ビットに含まれているビットを各時間ステップにおいて選択することにより、前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））を中間的なビットレート（ｆ／Ｍ）でシリアル出力するように構成されており、前記中間的なビットレート（ｆ／Ｍ）は、前記サブビットレート（ｆ／（ＲＭ））に、前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））のうちの、同じ時間ステップの間に発生する、前記事前定義されたビット数（Ｒ）を乗じたものに等しい、請求項５に記載のビットシーケンス発生器。
【請求項７】
前記複数の状態機械に含まれる状態機械（１１０、３１０）が、サブレート遷移行列（Ｔ）及びサブレート初期状態（ｙｍ（０））に基づいて、前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））を発生させ、前記サブレート遷移行列（Ｔ）及び前記サブレート初期状態（ｙｍ（０））は、前記生成関数及び前記生成関数の前記初期状態に基づく、請求項１から６のいずれか一項に記載のビットシーケンス発生器。
【請求項８】
前記サブレート遷移行列（Ｔ）は、前記複数の状態機械に含まれる全ての状態機械（１１０、３１０）に対して同じであり、前記サブレート初期状態（ｙｍ（０））は、前記複数の状態機械に含まれる全ての状態機械（１１０、３１０）に対して様々である、請求項７に記載のビットシーケンス発生器。
【請求項９】
前記複数の状態機械は、状態機械（１１０、３１０）を２つだけ含むか、状態機械（１１０、３１０）を３つ以上含む、請求項１から８のいずれか一項に記載のビットシーケンス発生器。
【請求項１０】
前記発生させるビットシーケンス（１２２、ｓ（ｉ））は、疑似ランダムビットシーケンスである、請求項１から９のいずれか一項に記載のビットシーケンス発生器。
【請求項１１】
複数の状態機械に含まれる状態機械のサブレート遷移行列（２１２、Ｔ）及びサブレート初期状態（２１４、ｙｍ（０））を計算する装置（２００）であって、
前記状態機械の前記サブレート初期状態（２１４、ｙｍ（０））の計算を、フルレートのビットシーケンスの生成関数（２０２）と、前記生成関数の初期状態（２０４）と、前記複数の状態機械に含まれる状態機械の数（Ｍ）と、に基づいて行うように構成されており、且つ、前記状態機械の前記サブレート遷移行列（２１２、Ｔ）の計算を、前記生成関数（２０２）及び前記状態機械数（２０６、Ｍ）に基づいて行うように構成されているプロセッサ（２１０）
を備える装置。
【請求項１２】
前記プロセッサ（２１０）は、前記サブレート遷移行列（２１２、Ｔ）の計算を、前記生成関数（２０２）の前記初期状態（２０４）とは独立に行うように構成されている、請求項１１に記載の装置。
【請求項１３】
前記プロセッサ（２１０）は、前記生成関数（２０２）に基づいてフルレート遷移行列（Ｇ）を求めるように構成されており、前記プロセッサ（２１０）は、前記フルレート遷移行列（Ｇ）及び前記状態機械数（Ｍ）に基づいて前記サブレート遷移行列（２１２、Ｔ）を計算するように構成されており、前記プロセッサ（２１０）は、前記フルレート遷移行列（Ｇ）、前記生成関数（２０２）の前記初期状態（２０４）、及び前記状態機械数（２０６、Ｍ）に基づいて前記サブレート初期状態（２１４）を計算するように構成されている、請求項１１又は１２に記載の装置。
【請求項１４】
前記プロセッサ（２１０）は、前記複数の状態機械に含まれる各状態機械について前記サブレート初期状態（２１４、ｙｍ（０））を計算するように構成されており、前記計算されたサブレート初期状態（２１４、ｙｍ（０））が互いに異なる、請求項１１から１３のいずれか一項に記載の装置。
【請求項１５】
前記プロセッサ（２１０）は、前記サブレート遷移行列（２１２、Ｔ）を計算するように構成されており、前記サブレート遷移行列（２１２、Ｔ）は、前記複数の状態機械に含まれる全ての状態機械に対して同じである、請求項１１から１４のいずれか一項に記載の装置。
【請求項１６】
前記サブレート遷移行列（２１２、Ｔ）は、事前定義された行数（Ｎ）を有する正方行列であり、前記事前定義された行数（Ｎ）は、前記生成関数の次数（Ｐ）以上である、請求項１１から１５のいずれか一項に記載の装置。
【請求項１７】
前記プロセッサ（２１０）は、次式に従って前記サブレート遷移行列（２１２、Ｔ）を計算するように構成されており、
【数１】
2013534336.tif 000020
Ｎは、Ｔの前記事前定義された行数であり、Ｍは、前記複数の状態機械に含まれる状態機械の数であり、Ｐは、前記生成関数の次数であり、Ｇは、前記フルレート遷移行列であり、Ｒは、状態機械が、前記サブレート遷移行列を用いて、同じ時間ステップの間に発生させる前記ビットシーケンスのビット数であり、
【数２】
2013534336.tif 000021
であり、
【数３】
2013534336.tif 000022
であり、
【数４】
2013534336.tif 000023
である、請求項１１から１６のいずれか一項に記載の装置。
【請求項１８】
前記プロセッサ（２１０）は、次式に従って前記サブレート初期状態（２１４、ｙｍ（０））を計算するように構成されており、
【数５】
2013534336.tif 000024
ｍは、前記サブレート初期状態を計算する対象となる各状態機械に割り当てられた個別番号であって、前記複数の状態機械に含まれる状態機械の数（Ｍ）以下の値を含んでおり、Ｎは、前記サブレート遷移行列（Ｔ）の前記事前定義された行数であり、
【数６】
2013534336.tif 000025
であり、
【数７】
2013534336.tif 000026
であり、Ｐは、前記生成関数の次数であり、Ｇは、前記フルレート遷移行列であり、
【数８】
2013534336.tif 000027
である、請求項１１から１７のいずれか一項に記載の装置。
【請求項１９】
請求項１１から１８のいずれか一項に記載の複数の状態機械に含まれる状態機械のサブレート遷移行列及びサブレート初期状態を計算する装置を備え、前記ビットシーケンス発生器の前記複数の状態機械に含まれる状態機械が、状態機械のサブレート遷移行列及びサブレート初期状態を計算する前記装置によって計算される前記サブレート遷移行列及び前記サブレート初期状態に基づいて、前記対応する時間インタリーブされたビットシーケンスを発生させる、請求項１から１０のいずれか一項に記載のビットシーケンス発生器。
【請求項２０】
状態機械（８００）を有し、前記状態機械（８００）は、
第１のクロックレートを有する中間的なレートの入力信号の為の入力（８０２）と、
前記中間的なレートの入力信号を、前記第１のクロックレートのフラクションである第２のクロックレートを有するサブレート入力信号に変換するデシリアライザ（８４０）と、
前のサブレート内部状態と、前記サブレート入力信号とに基づいてサブレート内部状態を更新することと、前記前の、又は更新されたサブレート内部状態に基づいてサブレート出力信号を出力することと、を行うように構成されたサブレート有限状態機械（８１０）と、
前記サブレート出力信号をシリアル化して、前記第１のクロックレートを有する中間的なレートの出力信号を生成するように構成されたシリアライザ（８３０）と、を備え、
前記サブレート有限状態機械（８１０）は、前記サブレート内部状態を前記第２のクロックレートで更新するように構成されている、
請求項１から１０、又は１９のいずれか一項に記載のビットシーケンス発生器。
【請求項２１】
ワードストリームを発生させる状態機械を有し、前記ワードストリームの各ワードは、時間インタリーブされたビットシーケンスのうちの複数のサブシーケンスビットを含み、前記状態機械は、
対応する入力及び対応する出力を備える複数のクロックレジスタ（７１０）と、
前記レジスタ（７１０）の前記入力及び前記出力と結合されて、前記生成関数と、前記レジスタの状態を表す、前記レジスタの前記複数のレジスタ出力信号とに基づいて、複数の帰還信号を前記レジスタの前記入力に与えるように適合された帰還回路（７３０）と、を備え、
前記状態機械（７００）は、前記複数のレジスタ出力信号で定義された第１のワードが、前記時間インタリーブされたビットシーケンスのサブシーケンスビットの第１の集合を含むように、且つ、前記複数のレジスタ出力信号で定義された後続の第２のワードが、前記時間インタリーブされたビットシーケンスのサブシーケンスビットの第２の集合を含むように、構成されている、
請求項１から１０、又は１９のいずれか一項に記載のビットシーケンス発生器。
【請求項２２】
請求項１から１０、又は請求項１９から２１のいずれか一項に記載のビットシーケンス発生器を備えるか、請求項１１から１８のいずれか一項に記載の、前記複数の状態機械に含まれる状態機械の別個の遷移行列及び別個の初期状態を計算する装置を備える自動検査設備。
【請求項２３】
生成関数及び前記生成関数の初期状態で定義されるビットシーケンスを発生させる方法（９００）であって、
複数の時間インタリーブされたビットシーケンスを発生させるステップ（９１０）であって、前記複数の時間インタリーブされたビットシーケンスに含まれる時間インタリーブされたビットシーケンスのビットを、現在の時間ステップにおいて発生させること（９１０）は、先行する時間ステップにおいて発生させた少なくとも１つのビットに基づき、且つ、発生させる前記ビットシーケンスの前記生成関数に基づき、且つ、前記生成関数の前記初期状態に基づき、且つ、前記複数の時間インタリーブされたビットシーケンスに含まれる、発生させた、別の、時間インタリーブされたビットシーケンスから独立している、前記発生させるステップ（９１０）と、
発生させた、時間インタリーブされた各ビットシーケンスから１つのビットを連続的に選択することを繰り返すことにより、前記生成関数及び前記生成関数の初期状態で定義される前記ビットシーケンスを生成するステップ（９２０）と、
を含む方法（９００）。
【請求項２４】
複数の状態機械に含まれる状態機械のサブレート遷移行列及びサブレート初期状態を計算する方法（１０００）であって、
前記状態機械の前記サブレート初期状態の計算を、フルレートビットシーケンスの生成関数と、前記生成関数の初期状態と、前記複数の状態機械に含まれる状態機械の数と、に基づいて行うステップ（１０１０）と、
前記状態機械の前記サブレート遷移行列の計算を、前記生成関数と、前記状態機械数とに基づいて行うステップ（１０２０）と、
を含む方法（１０００）。
【請求項２５】
コンピュータプログラムであって、コンピュータ上又はマイクロコントローラ上で実行された場合に請求項２３又は２４に記載の方法を実施するプログラムコードを有するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明による実施形態は、ビットシーケンスを発生させることに関し、特に、ビットシーケンス発生器と、ビットシーケンスを発生させる方法と、状態機械のサブレート遷移行列及びサブレート初期状態を計算する装置及び方法と、に関する。
【背景技術】
【０００２】
乱数又は疑似乱数は、現代のテクノロジの広い応用分野において必要とされ、例えば、検査システム、暗号、数値シミュレーション、ノイズ信号の発生などの分野において必要とされる。これらはほんの数例である。乱数又は疑似乱数は、技術的には、それぞれ、真の乱数発生器又は疑似乱数発生器によって発生させることが可能である。
【０００３】
真の疑似乱数発生器は、典型的には、物理的な、本当のランダム発生源を用いるが、疑似乱数発生器は、典型的には、統計的な真のランダム性を示す素子を用いない。そのような素子の例としては、例えば、ナイキストノイズを有する電気抵抗器、電気トンネル素子、又は、ショットノイズ挙動を有する放射性崩壊やフィードバック信号をノイズ源として用いる閉フィードバックループをベースとする素子があり、これらはほんの数例である。
【０００４】
一方、疑似乱数発生器は、典型的には、そのような真のランダム性の素子を用いず、決定性の挙動をベースとする為、疑似乱数発生器が発生させる数値は真の乱数ではない。
【０００５】
従って、真の乱数発生器及び疑似乱数発生器は、応用分野において乱数値又は疑似乱数値を使用することが重要又は望ましいとされる場合には必ず利用される。上述の例は、可能な応用のうちの氷山の一角に過ぎない。
【０００６】
疑似乱数発生器は、真の乱数発生器と比較すると、典型的には、より高速で数値を発生させることが可能であり、ほとんどの場合、実装がより容易であり、エネルギ消費量が、相当する真の乱数発生器より少ない。しかしながら、疑似乱数発生器は、決定性のシステムであることを念頭に置かれたい。つまり、発生する数値は、疑似乱数発生器の内部構造の情報、及び疑似乱数発生器の状態情報に基づいて計算されたものになる。このことは、ある状況においては不利になる場合があり、別の状況においては、例えば、一部の応用において周期的挙動又は再現性が重要となりうる場合には、望まれる必要な結果となる場合がある。
【０００７】
デジタルの実装又は応用では、疑似乱数発生器が発生させる擬似乱数は、典型的には、デジタル単位又は２進単位からなる。この場合、疑似乱数発生器は、具体的な実装に応じて、複数の個別ビットのシーケンスを含む疑似ランダムビットストリーム、又は複数のワードのシーケンスを含む疑似ランダムワードストリームを出力することが可能である。各ワードは、典型的には、複数のビット（例えば、４ビット、６ビット、８ビット、１６ビット、３２ビットなど）を含む。言い換えると、ワードストリームのうちのワードは、典型的には、複数のビットを含み、そのワードは、疑似ランダムビットのシーケンスの一部と見なしてよい。従って、多くの応用では、疑似ランダムビットストリーム及び疑似ランダムワードストリームは、互いから派生するものであってよい。
【０００８】
回路、コンピュータシステム、及び他のデバイスの動作速度及び動作周波数が上がり続けていることから、各ビットのランダム性に関して十分良好な統計的分布を有する疑似ランダムビットストリーム及び疑似ランダムワードストリームをより高速で発生させることが求められており、例えば、検査応用、数値シミュレーション、暗号応用、並びに、念頭にある応用に応じたノイズ信号又は他のデータ、情報、及び信号の発生について、これらの処理速度を高速化できるようにすることが求められている。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、ビットシーケンスのビットレートを高めることが可能になるように、ビットシーケンスを発生させることの概念を改良することである。
【課題を解決するための手段】
【００１０】
この目的は、請求項１に記載のビットシーケンス発生器、状態機械のサブレート遷移行列及びサブレート初期状態を計算する、請求項１１に記載の装置、疑似ランダムビットシーケンスを発生させる、請求項２３に記載の方法、及び状態機械のサブレート遷移行列及びサブレート初期状態を計算する、請求項２４に記載の方法によって達成される。
【００１１】
本発明の一実施形態は、複数の状態機械と、多重化器とを含み、生成関数及び生成関数の初期状態で定義されるビットシーケンスを発生させるビットシーケンス発生器を与える。上記複数の状態機械に含まれる各状態機械は、時間インタリーブされたビットシーケンスを発生させ、状態機械は、時間インタリーブされたビットシーケンスのビットを現在の時間ステップにおいて発生させることを、先行する時間ステップにおいて発生させた、時間インタリーブされたビットシーケンスの少なくとも１つのビットに基づいて、且つ、発生させるビットシーケンスの生成関数に基づいて、且つ、生成関数の初期状態に基づいて、且つ、上記複数の状態機械に含まれる別の状態機械が発生させた、時間インタリーブされたビットシーケンスとは独立に行う。更に、多重化器は、発生した、時間インタリーブされたビットシーケンスのそれぞれから１つのビットを連続的に選択することを繰り返すことにより、生成関数及び生成関数の初期状態によって定義されるビットシーケンスを生成するように構成されている。
【００１２】
本発明の別の実施形態は、複数の状態機械に含まれる状態機械のサブレート遷移行列及びサブレート初期状態を計算する装置を与える。本装置は、状態機械のサブレート初期状態の計算を、フルレートビットシーケンスの生成関数と、生成関数の初期状態と、複数の状態機械に含まれる状態機械の数と、に基づいて行うように構成されたプロセッサを含む。更に、プロセッサは、状態機械のサブレート遷移行列の計算を、生成関数と、状態機械の数とに基づいて行うように構成されている。
【００１３】
本発明による実施形態の基礎となる中心思想は、互いに独立に発生させた２つ以上の時間インタリーブされたビットシーケンスをマージすることにより、生成関数及び生成関数の初期状態で定義される高速ビットシーケンスを高ビットレートで発生させることが可能である、というものである。このようにして、時間インタリーブされたビットシーケンスのそれぞれは、複数の時間インタリーブされたビットシーケンスをマージすることによって生成されるビットシーケンスのビットレートのサブレートで発生させることが可能である。
【００１４】
従って、時間インタリーブされたビットシーケンスを発生させる状態機械は、発生させるビットシーケンスの周波数（ビットレート）より低いクロック周波数で動作可能である。多重化器だけが、発生した複数の時間インタリーブされたビットシーケンスからビットを、ビットシーケンスのフルビットレートで選択できなければならない。従って、状態機械に関する必須ハードウェア要件は、単一の状態機械が直接同じビットレートでビットシーケンスを与える場合に比べて大幅に緩和することが可能である。
【００１５】
本発明による幾つかの実施形態では、上記複数の状態機械に含まれる状態機械は、時間インタリーブされたビットシーケンスを、サブレート遷移行列及びサブレート初期状態に基づいて発生させる。サブレート遷移行列及びサブレート初期状態は、生成関数及び生成関数の初期状態に基づく。
【００１６】
サブレート遷移行列及びサブレート初期状態は、上述の状態機械のサブレート遷移行列及びサブレート初期状態を計算する装置で求めることが可能である。
【００１７】
従って、本発明による幾つかの実施形態は、上記複数の状態機械に含まれる状態機械のサブレート遷移行列及びサブレート初期状態を計算する装置を含むビットシーケンス発生器に関するものであってよい。本装置は、上記複数の状態機械に含まれる各状態機械のサブレート遷移行列及びサブレート初期状態の計算を、各状態機械の時間インタリーブされたビットシーケンスをマージしたものが、生成関数及び生成関数の初期状態で定義されるフルレートのビットシーケンスになるように行うことが可能である。
【００１８】
本発明による幾つかの実施形態では、生成関数及び初期状態で定義されるビットシーケンスは、疑似ランダムビットシーケンスである。
【００１９】
以下では、本発明による実施形態を、添付図面を参照しながら詳細に説明する。
【図面の簡単な説明】
【００２０】
【図１】ビットシーケンス発生器のブロック図である。
【図２】複数の状態機械に含まれる状態機械のサブレート遷移行列及びサブレート初期状態を計算する装置のブロック図である。
【図３】ビットシーケンス発生器のブロック図である。
【図４】サブレート遷移行列及びサブレート初期状態を計算する装置を含む疑似ランダムビットシーケンス発生器のブロック図である。
【図５】線形帰還シフトレジスタのブロック図である。
【図６】パラレル読み出し動作モードの線形帰還シフトレジスタのブロック図である。
【図７】状態機械のブロック図である。
【図８】状態機械のブロック図である。
【図９】ビットシーケンスを発生させる方法のフローチャートである。
【図１０】複数の状態機械に含まれる状態機械のサブレート遷移行列及びサブレート初期状態を計算する方法のフローチャートである。
【発明を実施するための形態】
【００２１】
以下では、同一又は同様の機能的特性を有するオブジェクト及び機能ユニットに対して、ある程度、同じ参照符号を用いており、ある図面を参照してのそれらの説明は、他の図面にも適用されるものとする。これは、実施形態の説明の冗長性を減らす為である。
【００２２】
図１は、本発明の一実施形態によるビットシーケンス発生器１００のブロック図を示す。ビットシーケンス発生器１００は、複数の状態機械と、多重化器１２０とを含んでいる。上記複数の状態機械に含まれる各状態機械１１０は、時間インタリーブされたビットシーケンス１１２を発生させるように構成されており、状態機械１１０は、時間インタリーブされたビットシーケンス１１２のビットを現在の時間ステップにおいて発生させることを、先行する時間ステップにおいて、その状態機械が発生させた少なくとも１つのビットに基づいて、且つ、発生させるビットシーケンス１２２の生成関数に基づいて、且つ、生成関数の初期状態に基づいて、且つ、上記複数の状態機械に含まれる別の状態機械１１０が発生させた、時間インタリーブされたビットシーケンス１１２とは独立に行う。更に、発生した、時間インタリーブされたビットシーケンス１１２のそれぞれから、多重化器１２０が１つのビットを連続的に選択することを繰り返すことにより、生成関数及び生成関数の初期状態で定義されるビットシーケンス１２２が生成される。
【００２３】
上記複数の状態機械から発生した、時間インタリーブされたビットシーケンス１１２同士をマージすることにより、時間インタリーブされたビットシーケンス１１２のビットレートより著しく高いビットレートを有するビットシーケンス１２２を生成することが可能である。これにより、状態機械１１０は、より低いクロックレートで動作することが可能になり、ハードウェアの作業量及び／又は消費電力を減らすことが可能になる。更に、状態機械１１０は、それぞれ互いに独立に、時間インタリーブされたビットシーケンス１１２を発生させる為、それぞれ別々のハードウェアユニットを用いることが可能である。このように、例えば、別々のビットストリーム同士をマージする多重化器１２０を使用することにより、低ビットレートでビットシーケンスを発生させる既存の複数の状態機械を用いて、このビットレートの倍数となるビットレートを有するビットシーケンスを発生させることが可能である。
【００２４】
互いに独立に、時間インタリーブされたビットシーケンスを発生させる、とは、この場合には、ある状態機械１１０が、上記複数の状態機械に含まれる他のいずれかの状態機械１１０の現在又は以前の状態、或いはその出力とは独立の、時間インタリーブされたビットシーケンスを発生させることを意味する。互いの間のリンクは、各状態機械がそれぞれの時間インタリーブされたビットシーケンスを、発生させる疑似ランダムビットシーケンス１１２の同じ生成関数に基づいて、且つ、その生成関数の初期状態に基づいて発生させる、という事実によってのみ与えられる。このようにして、複数の、時間インタリーブされたビットシーケンス１１２が合算されて、発生させるべきビットシーケンス１２２になるが、個々の状態機械１１０のそれぞれは、他の状態機械が何をしているかを知る必要はない。
【００２５】
多重化器１２０は、発生した、時間インタリーブされた各ビットシーケンス１１２から１つのビットを連続的に選択することを繰り返す為、時間インタリーブされたビットシーケンス１１２は、発生させるビットシーケンス１２２の（Ｍ−１）個おきのビットを含んでおり、Ｍは、上記複数の状態機械１１０に含まれる状態機械１１０の数である。例えば、ビットシーケンス発生器１１０が、図１に示したように２つの状態機械１１０からなる場合、第１の状態機械１１０は、発生させるビットシーケンス１２２のうちの１番目、３番目、５番目、７番目…のビットからなる、時間インタリーブされたビットシーケンス１１２を発生させ、第２の状態機械１１０は、発生させるビットシーケンス１２２のうちの２番目、４番目、６番目…のビットからなる、時間インタリーブされたビットシーケンス１１２を発生させる。
【００２６】
ビットシーケンス発生器１００は、２つ以上の状態機械１１０を含んでよい。
【００２７】
状態機械１１０は、例えば、有限状態機械（ＦＳＭ）又は線形有限状態機械（ＬＦＳＭ）であってよい。
【００２８】
時間インタリーブされたビットシーケンス１１２を発生させることは、生成関数、及び生成関数の初期状態に基づく。生成関数並びに初期状態は、ユーザが定義してもよく、或いは、記憶装置に記憶されていてもよい。言い換えると、生成関数及び初期状態は、与えてもよく、事前定義されていてもよい。この為、生成関数は、パラメータ、係数、変数、公式、又は他の数学的記述により、表現可能である。更に、初期状態は、初期状態ビットシーケンスによって表現可能である。例えば、生成関数は、Ｐ個の係数で表されるＰ次の生成多項式ｇ（ｘ）であってよい。これに関しては、例えば、ビットシーケンスが生成関数及び初期状態で定義されるという言い方は、ビットシーケンスが、生成関数の係数と、初期状態ビットシーケンスとで定義されるという言い方と同じである。従って、生成関数及び初期状態に基づいて、時間インタリーブされたビットシーケンスのビットを生成することは、例えば、生成関数の係数と、初期状態ビットシーケンスとに基づいて、時間インタリーブされたビットシーケンスのビットを生成する、という意味にもなる。
【００２９】
本発明による幾つかの実施形態は、疑似ランダムビットシーケンスの発生に関する。言い換えると、発生させるビットシーケンスは、疑似ランダムビットシーケンスである。以下では、疑似ランダムビットシーケンスの発生に関して実施形態を説明するが、本発明概念は、疑似ランダムビットシーケンスに限定されない。
【００３０】
疑似ランダムビットシーケンスは、生成多項式で定義してよい。そのような疑似ランダムビットシーケンスは、線形帰還シフトレジスタで発生させることが可能である。例えば、ビットレートがｆの疑似ランダムビットシーケンス（ＰＲＢＳ）｛ｓ（ｉ）｝は、周波数ｆでクロッキングされる線形帰還シフトレジスタ（ＬＦＳＲ）の出力として発生させることが可能である。
【００３１】
図５は、生成多項式ｇ（ｘ）＝１＋ｘ２＋ｘ５を有する線形帰還シフトレジスタ５００の一例を示す。この線形帰還シフトレジスタ５００は、５つのクロックレジスタ５１０と、第２のレジスタｘ２の出力及び第５のレジスタｘ５の出力を論理的に結合する論理ＸＯＲ素子５２０とを含んでおり、この論理的結合の結果を第１のレジスタの入力に与える。対応する疑似ランダムシーケンスｓ（ｉ）は、第５のレジスタから出力される。 
【００３２】
一般的なＬＦＳＲは、そのＰ次の生成多項式ｇ（ｘ）、即ち、ｇｐ≠０且つｇｐ＝０（ｐ＞Ｐ）における次式（１）の形で表される。
ｇ（ｘ）＝１＋ｇ１ｘ＋ｇ２ｘ２＋…＋ｇｐｘｐ  （１）
【００３３】
ｇ（ｘ）の係数ｇｐ∈Ｂ（生成関数の各係数）が１に等しい場合、ｐ番目のシフトレジスタ段の出力は、初段における次の値についてのＸＯＲ関数に算入される。
【００３４】
ビットレートが非常に高い場合、例えば、１２．８Ｇｂｐｓの場合、或いは概ね１０Ｇｂｐｓを超える場合には、この直接的なアプローチは、極端に難度が高い。
【００３５】
提案されている概念によれば、ビットレートｆを有する同じ疑似ランダムビットシーケンスｓ（ｉ）を発生させる為に、それぞれがビットレートｆを有する、Ｍ個の時間インタリーブされたビットシーケンスをＭで割って、時間インタリーブ（多重化）を行う。
【００３６】
例えば、状態機械１１０が、毎時間ステップに、時間インタリーブされたビットシーケンス１１２のうちの１つ以上のビットを発生させる。例えば、図５に示されたものと類似の線形帰還シフトレジスタを用いて、時間インタリーブされたビットシーケンス１１２のうちの１ビットを毎時間ステップに発生させることが可能である。好ましいのは、時間インタリーブされたビットシーケンス１１２の複数のビットを毎時間ステップに発生させる状態機械を用いることであろう。毎時間ステップの発生ビット数は、状態機械１１０の使用ハードウェアによって設定され、このように事前定義される。言い換えると、上記複数の状態機械１１０に含まれる状態機械１１０は、事前定義されたビット数（１つ以上）の、対応する、時間インタリーブされたビットシーケンス１１２を毎時間ステップに発生させる。
【００３７】
このようにして、フルレートより著しく低い（時間ステップの長さに対応する）サブレートで、事前定義されたビット数の時間インタリーブされたビットストリーム１１２を繰り返し発生させて、多重化器１２０から疑似ランダムビットシーケンスを出力することが可能であってよい。言い換えると、上記複数の状態機械１１０に含まれる状態機械１１０は、事前定義されたビット数の時間インタリーブされたビットシーケンス１１２をサブレートで発生させることが可能であり、多重化器１２０は、疑似ランダムビットシーケンス１２２を、サブレートの整数倍であるフルレートで発生させる。
【００３８】
状態機械が動作する際のサブレートと、疑似ランダムビットシーケンス１１２が与えられる際のフルレートとの比は、（パラレルに発生する）複数の時間インタリーブされたビットシーケンス１１２の事前定義された発生ビット数と、上記複数の状態機械１１０に含まれている状態機械の数とに依存する。言い換えると、前述の整数の倍数は、時間インタリーブされたビットシーケンス１１２の事前定義されたビット数と、上記複数の状態機械１１０に含まれる状態機械の数との積であってよい。例えば、各状態機械は、それぞれの状態機械の毎クロックサイクルに、対応する、時間インタリーブされたビットシーケンスの４ビットを発生させ、複数の状態機械が２つの状態機械を含み、状態機械が動作する際のクロックレート（サブレート）の８倍の高さのビットレート（フルレート）で疑似ランダムビットシーケンスを発生させることが可能である。
【００３９】
本発明による幾つかの実施形態では、状態機械１１０の状態は、事前定義された数の状態ビットに依存する場合がある。この事前定義された数の状態ビットは、同じ時間ステップの間に発生させることが可能であり、前の時間ステップ（例えば、直前の時間ステップ）からの状態ビットに依存する場合がある。この事前定義された状態ビット数は、この時間ステップにおける、時間インタリーブされたビットシーケンス１１２の事前定義されたビット数と同じであってよいが、この事前定義された状態ビット数は、時間インタリーブされたビットシーケンス１１２の事前定義されたビット数より大きくてもよい。言い換えると、上記複数の状態機械１１０に含まれる状態機械１１０の状態は、同じ時間ステップの間にその状態機械１１０が発生させる、事前定義された数の状態ビットで定義してよい。更に、事前定義された数の状態ビットは、少なくとも、同じ時間ステップにおける、時間インタリーブされたビットシーケンス１１２の事前定義された数のビットを含んでよい。同じ時間ステップの間に発生する状態ビットと、時間インタリーブされたビットシーケンスのビットとは異なってよいが、好ましい一実施形態では、状態ビットは、時間インタリーブされたビットシーケンスのビットである。言い換えると、状態機械は、状態を変えることにより、状態ビットで表される、時間インタリーブされたビットシーケンスのビットを自動的に発生させてよい。
【００４０】
現在の時間ステップにおける、上記複数の状態機械に含まれる状態機械の状態は、前の時間ステップにおけるその状態機械の状態に依存する為、その状態機械は、前の時間ステップにおけるその状態機械の状態に基づいて、時間インタリーブされたビットシーケンスのビットを現在の時間ステップにおいて発生させることが可能である。
【００４１】
状態機械１１０が毎時間ステップ（状態機械の毎クロックサイクル）に、時間インタリーブされたビットシーケンス１１２の複数のビットを決定できる場合、時間インタリーブされたビットシーケンス１１２の、パラレルに決定されたビットをシリアル化することにより、時間インタリーブされたビットシーケンス１１２を生成することが可能である。その為に、状態機械１１０はシリアライザを含んでよい。シリアライザは、１つの時間ステップの間に発生した状態ビットに含まれる、時間インタリーブされたビットシーケンス１１２のビットを、毎時間ステップにおいて選択することにより、時間インタリーブされたビットシーケンス１１２をシリアル出力することが可能である。これは、中間的なレートで行うことが可能である。ここでの中間的なレートは、同じ時間ステップの間に発生する、時間インタリーブされたビットシーケンス１１２の事前定義されたビット数を、サブレートに乗じたものである。言い換えると、ある状態機械１１０がパラレルに発生させる、時間インタリーブされたビットシーケンス１１２のビットは、シリアル化される為、ビットレートは、時間インタリーブされたビットシーケンスのパラレル発生ビット数（時間インタリーブされたビットシーケンスの、事前定義されたビット数）をサブレートに乗じたものとなる。
【００４２】
従って、発生させた疑似ランダムビットシーケンスを出力する際のフルレートは、上記複数の状態機械に含まれる状態機械１１０の数を中間的なレートに乗じたものに等しい。
【００４３】
状態機械１１０は、様々な方法で実装することが可能である。例えば、上述のような線形帰還シフトレジスタ（ＬＦＳＲ）を用いてよい。或いは、パラレル読み出しモードで動作する線形帰還シフトレジスタを用いてよい。図１ｂは、ビットストリームではなくワードストリームを発生させる構成の線形帰還シフトレジスタ６００を示す。これを達成すべく、図６の線形帰還シフトレジスタ６００は、その出力の構成が図５のものとは異なっている。図５のＬＦＳＲの場合、ＬＦＳＲの出力は、主に第５のレジスタの出力を表しているが、図６のＬＦＳＲ６００の出力は、４つのレジスタ６１０−１、…、６１０−４の全ての出力と結合されている。ＬＦＳＲ６００の出力は、レジスタ６１０−４の出力にある信号をビットｙ（ｋ）として与え、第３のレジスタ６１０−３の出力にある信号をビットｋ＋１として与え、第２のレジスタ６１０−２の出力にある信号をビットｋ＋２として与え、第１のレジスタ１１０−１の出力をビットｋ＋Ｎ−１＝ｋ＋３として与える。
【００４４】
図６のＬＦＳＲ６００は、ビットシーケンス又はビットストリームを生成するにあたり、前述のパラレル読み出しをＮ＝４つのレジスタに対して行い、その後、ＬＦＳＲをＮ＝４回クロッキングし、これらのクロッキングシーケンスの間の出力は無視される。当然ながら、図６に示されたＬＦＳＲ６００は、各ワードがＮビットである複数のワードを取得することに使用できるだけではなく、ＬＦＳＲ６００のレジスタ数Ｎを超えない任意のビット数をＲとすれば、各ワードがＲビットである複数のワードを取得することにも使用できる。この場合、パラレル読み出しはＲ段に限定してよく、ＬＦＳＲ６００のサブシーケンスクロッキングはＲ回に限定してよい。これらの中間的なクロッキングの間の出力は無視する。
【００４５】
図７は、状態機械の一代替実装７００を示す。状態機械７００は、複数のクロックレジスタ７１０を含んでおり、各レジスタ７１０は、帰還信号用又は入力信号用の入力７１０ａと、出力信号用の出力７１０ｂとを含んでいる。又、レジスタ７１０は更に、クロック信号用のクロック信号入力７１０ｃを含んでいる。図５及び図６のレジスタと同様に、レジスタ７１０も、各レジスタ７１０の入力７１０ａに与えられる信号と、クロック信号入力７１０ｃに与えられる、対応するクロック信号とに対する応答として、少なくとも２つの状態（例えば、０又は１）を記憶するように適合されている。レジスタ７１０は、それぞれの出力７１０ｂにおいて、それぞれの状態を示す信号を出力するように適合されている。
【００４６】
図７のブロック図は、第１のレジスタ７１０−１及び第２のレジスタ７１０−２を示しており、これらは共通クロック信号線７２０と結合されており、共通クロック信号線７２０は、レジスタ７１０に対し、それぞれのクロック信号入力７１０ｃから、対応するクロック信号をパラレルに与える。更に、図７に示された状態機械７００は、帰還回路７３０を含んでおり、帰還回路７３０は、複数の入力７３０ａと複数の出力７３０ｂとを有している。入力７３０ａの数は、少なくとも、状態機械７００のレジスタ７１０の数Ｎに対応しており、各レジスタ７１０は、図示した実施形態では、帰還回路７３０の個々の入力に接続されている。従って、帰還回路７００の出力７３０ｂの数も、少なくとも、レジスタ７１０の数に対応しており、各レジスタ７１０は、それぞれの入力７１０ａを介して、帰還回路７３０の出力７３０ｂの１つに接続されている。しかしながら、本発明による他の実施形態では、帰還回路７３０の入力又は出力の数は、より少なくても、より多くてもよい。
【００４７】
複数のレジスタ７１０及び帰還回路７３０は、閉帰還ループを形成しており、帰還回路７３０は、レジスタ７１０の入力７１０ａに与えられる複数の帰還信号を発生させる。レジスタ７１０は、クロック信号線７２０から与えられるクロック信号（例えば、クロック信号のエッジ又はトランジション又はレベル）の受信時に、入力７１０ａに与えられている信号に応じた状態になるように適合されている為、帰還回路７３０は、クロック信号のクロックサイクルごとに帰還信号を生成することによって状態変化に影響を及ぼす。レジスタは、フリップフロップと称されることもある。言い換えると、レジスタ（例えば、レジスタ７１０）は、少なくとも２種類の状態を記憶するように適合されている。記憶すべき状態は、レジスタ７１０の入力７１０ａに与えられており、クロック信号の受信時にレジスタ７１０に記憶される。これに対し、ラッチは、制御信号入力に与えられる制御信号に応じて、透過的であったり、状態をフリーズさせたりすることが可能である。
【００４８】
レジスタ７１０の出力７１０ｂは、状態機械の出力７４０に直接又は間接的に結合されている。即ち、レジスタ７１０の出力信号は、帰還回路７３０に与えられるだけでなく、出力７４０にも与えられる。
【００４９】
帰還回路の出力は、帰還機能と、帰還回路７３０の入力７３０ａに与えられる信号とに依存する。帰還信号は、発生後、出力７３０ｂからレジスタ７１０の入力７１０ａに与えられる。帰還回路７３０は、この文脈では、帰還機能を１回適用すると、レジスタ７１０が新しい状態になるように適合されており、この新しい状態は、例えば、（例えば、図５に示された）線形帰還シフトレジスタが、複数回のクロッキングの後にレジスタ７１０の最初の状態に初期化された状態を表す。言い換えると、帰還回路７３０に実装されている帰還機能は、状態機械７００のレジスタ７１０にある状態で初期化されたＬＦＳＲにクロック信号のクロックサイクルを複数回適用してから、適切なクロック信号をクロック信号線７２０に与えることに対応する帰還信号を発生させて、レジスタ７１０の入力７１０ａに与えることを可能にする。
【００５０】
帰還回路７３０に実装されている帰還機能を１回適用すると、結果として、クロック信号に対する応答としてレジスタ７１０の出力７１０ｂにおいて直後に発生したワード（事前定義された数のビット）が、ＬＦＳＲの複数回のクロックサイクルの場合に必要な状態変化を表すように、帰還信号が発生する。 
【００５１】
帰還信号は、図７に示されたように、帰還機能及び複数のレジスタ出力信号にのみ依存してよい。更なるパラメータは典型的には不要であるが、帰還機能自体は、プログラム可能であってもよく、帰還回路７３０に与えられていてもよい。
【００５２】
そのような状態機械７００は、ワードストリームをより高速で発生させることが可能であってよい。これは、毎クロックサイクルにおいて、ＬＦＳＲの場合のように帰還信号を１つだけ発生させるのではなく、それぞれがいずれかのレジスタ７１０に与えられる複数の帰還信号を発生させることによって可能である。
【００５３】
図７に示された状態機械７００は、任意選択的に、レジスタ７１０の出力７１０ｂと、状態機械７００の出力７４０との間に結合された回路７５０を含んでよい。回路７５０は、例えば、レジスタ７１０のパラレルの出力信号からシリアルのビットストリームを発生させ、これを状態機械７００の出力７４０に与えるように適合された回路であってよい。
【００５４】
更に、破線矢印７６０で示されているように、帰還回路７３０は、帰還回路７３０の入力７６０にプログラミング信号を与えることによってプログラムすることが可能であってよく、これによって、帰還回路７３０は、帰還回路７３０に与えられる１つ以上のパラメータに依存することが可能になる。これにより、プログラム可能なビットストリームの発生を実装することが可能になる。これは、例えば、遷移行列の要素の集合と、帰還回路７３０の入力７３０ａに与えられるレジスタ出力信号の各値とのｍｏｄｕｌａｒ−２のスカラ積に基づいて達成できる。
【００５５】
まとめると、図７は、１つのクロックサイクルにおいてビットストリーム（例えば、時間インタリーブされたビットシーケンス）の複数のビットを発生させる、プログラム可能な状態機械を示している。
【００５６】
帰還機能は、遷移行列で表すことができる。この遷移行列は、本発明の概念に関連して、サブレート遷移行列と呼ぶこともある。これは、このサブレート遷移行列を使用する状態機械が、発生させるフルレートのビットシーケンスに対して、時間インタリーブされたビットシーケンスをサブレートで発生させる為である。帰還回路７３０は、サブレート遷移行列を収容する記憶装置を含んでよい。更に、レジスタ７１０は、サブレート初期状態で初期化されるように構成してよい。サブレート遷移行列、並びにサブレート初期状態は、発生させるビットシーケンスの生成関数及び生成関数の初期状態に基づく。
【００５７】
まとめると、ビットシーケンス発生器は、ワードストリームを発生させる状態機械７００を含んでよく、ワードストリームの各ワードは、時間インタリーブされたビットシーケンスの複数のサブシーケンスビットを含んでいる。状態機械は、複数のクロックレジスタと、帰還回路とを含んでいる。この複数のクロックレジスタは、対応する入力と、対応する出力とを含んでいる。更に、帰還回路７３０は、レジスタ７１０の入力及び出力と結合されて、生成関数と、各レジスタの状態を表す、レジスタの複数のレジスタ出力信号とに基づいて、複数の帰還信号をレジスタの入力に与える。更に、状態機械７００は、複数のレジスタ出力信号で定義された第１のワードが、時間インタリーブされたビットシーケンスのサブシーケンスビットの第１の集合を含むように、且つ、複数のレジスタ出力信号で定義された後続の第２のワードが、時間インタリーブされたビットシーケンスのサブシーケンスビットの第２の集合を含むように、構成されている。
【００５８】
図８は、状態機械の別の代替実装を示す。状態機械８００は、入力信号ｕｎ用の第１の入力８０２を含んでおり、この入力信号の各サブシーケンス値は、第１のクロックレートｆ１でクロッキングされて入力端子８０２に入力される。更に、装置８００は、入力信号ｕｎをサブレート入力信号Ｕｎに変換するデシリアライザ８４０を含んでおり、サブレート入力信号Ｕｎは、第１のクロックレートｆ１のフラクションである第２のクロックレートｆ２でクロッキングされて、サブレート有限状態機械回路８１０に入力される。デシリアライザ８４０は、例えば、入力信号ｕｎのシリアル−パラレル変換を行う回路であってよい。従って、シリアル化解除されたサブレート入力信号Ｕｎは、フルレート入力信号のうちのＲ個のサブシーケンス値ｕｎ、ｕｎ＋１、…、ｕｎ＋Ｒ−１を含んでよく、これらは、第２のクロックレートｆ２でクロッキングされて、サブレートＦＳＭ回路８１０に入力される。サブレートＦＳＭ回路８１０は、メモリ（具体的には、ＲＡＭ）又はプログラマブルロジックデバイス又はプログラマブルロジックアレイ（ＰＬＡ）を含んでよく、第２の入力８１２によってサブレートＦＳＭ回路８１０にフィードされる、前のサブレート内部状態ｚｎに基づいて、且つ、サブレート入力信号Ｕｎ＝［ｕｎ，ｕｎ＋１，．．．，ｕｎ＋Ｒ−１］に基づいて、サブレート内部状態を更新するように構成されている。サブレートＦＳＭ回路８１０は、任意選択的に、前の、又は更新されたサブレート内部状態ｚｎ、ｚｎ＋Ｒに基づいて、サブレート出力信号Ａｎを与えるように構成されてよい。これによって、サブレート出力信号Ａｍは、Ｒ個の信号値ｖｍ、ｖｍ＋１、…、ｖｍ＋Ｒ−１を含み、これらのサブレート出力信号Ａｍをシリアライザ８３０にフィードしてシリアル化することにより、第１のクロックレートｆ１を有するシリアル出力信号Ｂｍを生成することが可能である。実施形態によれば、シリアライザ回路８３０は、Ｒ個の出力信号値ａｍ、ａｍ＋１、…、ａｍ＋Ｒ−１を含むサブレート出力信号Ａｍのパラレル−シリアル変換を行う回路を含んでよい。
【００５９】
サブレートＦＳＭ回路８１０は、サブレート入力信号Ｕｎ＝［ｕｎ，ｕｎ＋１，…，ｕｎ＋Ｒ−１］及び前のサブレート内部状態ｚｎの形の入力に対する応答として、サブレート出力信号Ａｎ＝［ａｎ，ａｎ＋１，…，ａｎ＋Ｒ−１］及び更新されたサブレート内部状態ｚｎ＋Ｒを、いずれも第２のクロックレートｆ２で出力する。更新されたサブレート内部状態ｚｎ＋Ｒは、サブレート内部状態レジスタ８２０にフィードされる。サブレート内部状態レジスタ８２０は、２つの経路に分割できる単一出力線８２２を有してよい。第１の経路は、サブレートＦＳＭも一部分であるシステムの別の部分と結合され、第２の経路は、状態レジスタ出力線８１２である。
【００６０】
実施形態によれば、デシリアライザ８４０は、入力信号ｕｎをシリアル−パラレル変換するように構成されており、これによって、サブレート入力信号Ｕｎは、時間間隔Ｔ２（これは第２のクロックレートｆ２の逆数である。即ち、Ｔ２＝１／ｆ２）の間に、複数のサブシーケンス時間間隔Ｔ１（これらの時間間隔は第１のクロックレートｆ１の逆数であってよい。即ち、Ｔ１＝１／ｆ１）に対応する、入力信号の複数のサブシーケンス値ｕｎ、ｕｎ＋１、…、ｕｎ＋Ｒ−１を含む。
【００６１】
代替として、入力信号は、サブレート有限状態機械回路８１０をプログラムすることにのみ用いられる。例えば、サブレート遷移行列の行列要素は、サブレート有限状態機械回路８１０の記憶装置に与えられる。この例では、デシリアライザ８４０は必須部分ではなく、入力信号は、出力信号のクロックレートとは無関係なクロックレート又はビットレートで与えられてもよく、サブレート有限状態機械回路８１０が動作しているクロックレートで与えられてもよい。シリアライザ８３０の出力信号は、例えば、状態機械８００が発生させる、時間インタリーブされたビットシーケンスであってよい。或いは、時間インタリーブされたビットシーケンスは、サブレート内部状態レジスタ８２０の出力線８２２のみから取得してもよく、サブレート内部状態レジスタ８２０の出力線８２２からと、シリアライザ８３０の出力信号との組み合わせの形で取得してもよい。
【００６２】
言い換えると、ビットシーケンス発生器は、第１のクロックレートを有する中間的なレートの入力信号の入力８０２と、中間的なレートの入力信号を、第１のクロックレートのフラクションである第２のクロックレートを有するサブレート入力信号に変換するデシリアライザ８４０と、サブレート有限状態機械８１０と、シリアライザ８３０と、を含む状態機械を含んでよい。サブレート有限状態機械８１０は、前のサブレート内部状態と、サブレート入力信号とに基づいてサブレート内部状態を更新し、前の、又は更新されたサブレート内部状態に基づいてサブレート出力信号を出力する。更に、シリアライザ８３０は、サブレート出力信号をシリアル化して、第１のクロックレートを有する中間的なレートの出力信号を生成し、サブレート有限状態機械８１０は、サブレート内部状態を第２のクロックレートとして更新するように構成されている。
【００６３】
より一般的には、時間インタリーブされたビットシーケンスのビットは、実装された状態機械に応じて、状態機械の状態ビットと等しくてよく、等しくなくてもよい。言い換えると、本発明の実施形態によっては、状態機械は、前の時間ステップにおいて状態機械が発生させた、時間インタリーブされたビットシーケンスの少なくとも１つのビットに基づいて、時間インタリーブされたビットシーケンスのビットを現在の時間ステップにおいて発生させてよい。
【００６４】
図７に示された実装と同様に、状態機械８００は、サブレート遷移行列及びサブレート初期状態に基づいて、時間インタリーブされたビットシーケンスを発生させてよく、サブレート遷移行列及びサブレート初期状態は、いずれも、生成関数及び生成関数の初期状態から導出される。遷移行列は、サブレート有限状態機械回路８１０に記憶させてよく、サブレート内部状態レジスタ８２０は、サブレート初期状態で初期化してよい。
【００６５】
サブレート遷移行列及びサブレート初期状態は、上述のビットシーケンス発生器の上記複数の状態機械に含まれる全ての状態機械において様々であってよい。代替として、全ての状態機械は、それぞれの、時間インタリーブされたビットシーケンスを、同じサブレート遷移行列に基づいて、しかしながら、それぞれ異なるサブレート初期状態に基づいて発生させてよい。これが可能であり得るのは、基本となる生成関数及び初期状態が全ての状態機械について同じである為である。
【００６６】
上述のように、上記複数の状態機械に含まれる各状態機械ごとのサブレート遷移行列及びサブレート初期状態は、生成関数及び生成関数の初期状態から導出することが可能である。図２は、本発明の一実施形態による、複数の状態機械に含まれる状態機械についてサブレート遷移行列２１２及びサブレート初期状態２１４を計算する装置２００のブロック図を示す。装置２００は、プロセッサ２１０を含んでいる。このプロセッサ２１０は、状態機械のサブレート初段２１４の計算を、フルレートビットシーケンスの生成関数２０２、生成関数２０２の初期状態２０４、及び上記複数の状態機械に含まれる状態機械の数２０６に基づいて行う。更に、プロセッサ２１０は、状態機械のサブレート遷移行列２１２の計算を、生成関数２０２及び状態機械の数２０６に基づいて行う。
【００６７】
そのようなサブレート遷移行列２１２及びサブレート初期状態２１４は、上記複数の状態機械に含まれる各状態機械について計算可能である。このように、上記複数の状態機械は、任意の生成関数及び初期状態について、時間インタリーブされたビットシーケンスを発生させることが可能であってよく、これらを多重化器でマージすることにより、（例えば）生成関数及び初期状態で定義されるフルビットレートのビットシーケンスを生成することが可能である。
【００６８】
状態機械のサブレート遷移行列及びサブレート初期状態は、ビットシーケンス発生器に無関係に計算することが可能である。サブレート遷移行列及びサブレート初期状態は、記憶装置に記憶させておき、後で複数のビットシーケンス発生器で使用することが可能である。装置２００は、後でサブレート遷移行列及びサブレート初期状態を使用するビットシーケンス発生器の上記複数の状態機械に含まれる状態機械の数がわかればよい。
【００６９】
このようにして、各状態機械を著しく低いクロックレートで動作させながら、ビットレートが非常に高いビットシーケンスを発生させることが可能である。言い換えると、各状態機械は、発生させる、フルレートのビットシーケンスより著しく低いビットレートで、時間インタリーブされたビットシーケンスを出力することが可能である。
【００７０】
サブレート初期状態を計算する場合と異なり、サブレート遷移行列は、例えば、生成関数の初期状態と無関係に求めることが可能である。この場合、サブレート遷移行列は、上記複数の状態機械に含まれる全ての状態機械について同じであってよい。そして、各状態機械について求められるサブレート初期状態が様々であることによってのみ、各状態機械の出力は様々であってよい。言い換えると、プロセッサ２１０は、上記複数の状態機械に含まれる各状態機械について、計算されるサブレート初期状態が互いに異なるように、サブレート初期状態を計算することが可能である。更に、プロセッサは、上記複数の状態機械に含まれる全ての状態機械についてサブレート遷移行列が同じになるように、サブレート遷移行列を計算することが可能である。言い換えると、全ての状態機械が同じサブレート遷移行列を使用することが可能である。
【００７１】
サブレート遷移行列は、例えば、図１に示された疑似ランダムビットシーケンス発生器の各状態機械について計算可能である。このビットシーケンス発生器は、生成関数に基づいてフルレート遷移行列を使用する単一状態機械と同じビットシーケンスを出力することが可能である。従って、上記複数の状態機械に含まれる状態機械のサブレート遷移行列は、そのようなフルレート遷移行列から導出することが可能である。言い換えると、プロセッサは、生成関数に基づいてフルレート遷移行列を求めることが可能であり、フルレート遷移行列及び状態機械数に基づいてサブレート遷移行列を計算することが可能である。更に、計算器は、フルレート遷移行列、生成関数の初期状態、及び状態機械数に基づいて、サブレート初期状態を計算することが可能である。
【００７２】
サブレート遷移行列は、例えば、事前定義された行数の正方行列であってよい。例えば、事前定義される行数は、状態機械の記憶装置に記憶させることが可能な遷移行列の最大サイズに応じて設定してよく、或いは、状態機械がサブレート遷移行列に基づいて、時間インタリーブされたビットシーケンスのビットを発生させる為に必要な最大計算時間に応じて設定してよい。サブレート遷移行列の、事前定義される行数は、生成関数の次数以上であってよい。例えば、多項式の生成関数の場合、多項式の次数は、上述の生成関数を定義するのに必要な係数の数を示している。従って、サブレート遷移行列は、少なくとも、生成関数を定義するのに必要な係数の数に等しい数の行を含んでよい。
【００７３】
プロセッサ２１０は、例えば、独立したハードウェアユニットとして、或いは、コンピュータ又はマイクロコントローラの一部として、或いは、コンピュータ又はマイクロコントローラ上で動作するように構成されたコンピュータプログラム又はソフトウェア製品として、実現可能である。
【００７４】
以下では、複数の状態機械のサブレート遷移行列及びサブレート初期状態の計算例を詳細に説明する。この説明は、本発明概念を表す、図３に示された疑似ランダムビットシーケンス発生器３００のハードウェア実装に基づいて行う。図３では上記複数の状態機械を３つの状態機械３１０で表しているが、疑似ランダムビットシーケンス発生器は、２つ、又は４つ以上の状態機械でも実現可能である。各状態機械３１０はシリアライザ３３０に接続されており、各シリアライザ３３０は、多重化器３２０に接続されている。更に、各状態機械３１０は、帰還回路３１２と１つ以上のクロック状態レジスタ３１４とを含んでいる。帰還回路３１２は、状態レジスタ３１４に接続されており、状態レジスタ３１４の出力は、帰還回路３１２の入力と、対応するシリアライザ３３０の入力とに接続されている。疑似ランダムビットシーケンス発生器３００は、それぞれが各状態機械（この接続では、レートｆ／（Ｒ・Ｍ）のサブレート線形有限状態機械とも呼ばれる）の出力からシリアル化された、Ｍ個の時間インタリーブされたビットストリームｗｍ（ｊ）を有する目標アーキテクチャの一例を表している。
【００７５】
提案されているアーキテクチャ（図３）では、ビットレートがｆ／ＭであるＭ個のビットストリームｗｍ（ｊ）（ｍ＝０，１，．．．，Ｍ−１）を時間インタリーブ（多重化）することによって、ビットレートがｆである同じシーケンス｛ｓ（ｉ）｝を発生させており、各ビットストリームｗｍ（ｊ）は、Ｒビット幅のワードｖｍ（ｋ）を更にシリアル化することによって発生させており、ｖｍ（ｋ）は、ｆ／（Ｒ・Ｍ）のレートで動作するサブレート線形有限状態機械（ＬＦＳＭ）の出力である。Ｍは、各状態機械又は時間インタリーブされた各ビットシーケンスの個別番号を表している。この個別番号は、様々な時間インタリーブされたビットシーケンスを選択する順番を決めるものであってよい。例えば、多重化器は、状態機械から発生した、時間インタリーブされたビットシーケンスから、最初に、個別番号ｍ＝０が付いたビットを選択し、その次に、状態機械から発生した、時間インタリーブされたビットシーケンスから、個別番号ｍ＝１が付いたビットを選択する（以降も同様）。
【００７６】
Ｍ個のＬＦＳＭの全てが、例えば、プログラム可能な、Ｎ×Ｎに展開された状態遷移行列Ｔｍ（サブレート遷移行列）と、プログラム可能な、展開された初期状態ｙｍ（０）（サブレート初期状態）とを有している。この例では専用の出力行列がない為、展開された状態ｙｍ∈ＢＮは、各出力と、全ての到達可能なｙｍを一意識別する状態ｚｍ∈ＢＰ、Ｐ≦Ｎとを含んでおり、従って、「展開された状態」という用語になる。
【００７７】
１つの目標は、Ｍ個の時間インタリーブされたＬＦＳＭの展開された状態遷移行列Ｔｍ∈ＢＮ×Ｎ及び展開された初期状態ｙｍ（０）∈ＢＮ、ｍ＝０，１，．．．，Ｍ−１を、ＰＲＢＳ多項式ｇ（ｘ）（生成関数）、時間インタリーブされたビットストリームの数Ｍ（状態機械数）、及びレート減少係数Ｒの関数として計算することと、この計算が可能である条件を与えることと、である。
【００７８】
Ｎ＝３２、Ｍ＝２、且つＲ∈｛４，８，１２，１６，２０，２４，２８，３２｝であれば、次数Ｐ≦Ｎである全ての多項式に対して解が存在するのは明らかである。
【００７９】
例えば、特許出願「Ｊ．  Ｒｉｖｏｉｒ：  Ｓｔａｔｅ  ｍａｃｈｉｎｅ  ａｎｄ  ｇｅｎｅｒａｔｏｒ  ｆｏｒ  ｇｅｎｅｒａｔｉｎｇ  ａ  ｄｅｓｃｒｉｐｔｉｏｎ  ｏｆ  ａ  ｓｔａｔｅ  ｍａｃｈｉｎｅ  ｆｅｅｄｂａｃｋ  ｆｕｎｃｔｉｏｎ（国際公開第２０１００３４３２６（Ａ１）号パンフレット）」、及び「Ｊ．  Ｒｉｖｏｉｒ：  Ａｐｐａｒａｔｕｓ  ａｎｄ  ｍｅｔｈｏｄ  ｆｏｒ  ｅｍｕｌａｔｉｎｇ  ａ  ｆｕｌｌ−ｒａｔｅ  ｆｉｎｉｔｅ  ｓｔａｔｅ  ｍａｃｈｉｎｅ（国際公開第２０１００３４３２７（Ａ１）号パンフレット）」は、任意の（非線形）ＦＳＭの複数ビットを１クロックサイクルで発生させることを扱っている。しかしながら、サブレートＬＦＳＭの状態遷移行列の要素数は、サブレート係数とともに２次的に増大する。本発明概念は、複数のビットストリームを時間インタリーブすることを提案している為、必要なハードウェア能力は直線的に増えるのみである。しかしながら、このアプローチでエミュレートできるのは、ＰＲＢＳを発生させることの制約にならない、独立した線形ＦＳＭの出力だけである。
【００８０】
以下では、ＧＦ（２）の行列アプローチを用いており、これによって、分解環ｇ（ｘ）∈ＢＰ［ｘ］／（ｘＰ−１）の抽象概念の参照が不要になる。ＬＦＳＲの詳細な処理及び関連する数学的概念について、Ａ．ノイバウアー（Ａ．  Ｎｅｕｂａｕｅｒ）、Ｊ．フロイデンベルガー（Ｊ．  Ｆｒｅｕｄｅｎｂｅｒｇｅｒ）、Ｖ．クーン（Ｖ．  Ｋｕｈｎ）著「符号理論−アルゴリズム、アーキテクチャ、応用（Ｃｏｄｉｎｇ  Ｔｈｅｏｒｙ  −  Ａｌｇｏｒｉｔｈｍｓ，  Ａｒｃｈｉｔｅｃｔｕｒｅｓ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ）」（ワイリー（Ｗｉｌｅｙ）、２００７年）及びＤ．Ｓ．ダミット（Ｄ．Ｓ．  Ｄｕｍｍｉｔ）、Ｒ．Ｍ．フート（Ｒ．Ｍ．  Ｆｏｏｔｅ）著「抽象代数（Ａｂｓｔｒａｃｔ  Ａｌｇｅｂｒａ）」（ワイリー（Ｗｉｌｅｙ）、２００４年）に記載されている。
【００８１】
ＬＦＳＲの出力シーケンス｛ｓ（ｉ）｝は、Ｌ個のステップを繰り返す。ｇ（ｘ）がいわゆる原始多項式であれば、シーケンス長は最大限、即ち、Ｌ＝Ｌｍａｘ＝２Ｐ−１となり、原始多項式でない場合は、ＬはＬｍａｘの約数である。奇数Ｌｍａｘの約数であることから、Ｌも奇数である。
Ｌは奇数  （２）
【００８２】
ここからは、最大長のシーケンス（即ち、原始多項式）を仮定する。次数Ｐの一般ブールＬＦＳＭ及び１つの出力ｓ（ｉ）は、次の形式の状態式を有する。
ｘ（０）＝ｘ０∈ＢＰ
ｘ（ｉ＋１）＝Ｇ・ｘ（ｉ），ｉ＝０，１，２，．．．，  （３）
ｓ（ｉ）＝ｃ’・ｘ（ｉ）
但し、演算は２進ガロア場ＧＦ（２）で行われる。即ち、論理ＸＯＲは「加算」として使用され、論理ＡＮＤは「乗算」として使用される。「・」は、行列の内積を表し、省略されることもある。ｘ０は、生成関数の初期状態であり、Ｇは、フルレート遷移行列であり、ｓ（ｉ）は、発生させるビットシーケンスである。
【００８３】
通常の状態を次式のように番号づけすると、
ｘ＝（ｘ１，ｘ２，．．．，ｘＰ）’∈ＢＰ  （４）
状態遷移行列（フルレート遷移行列）は次式のとおりである。
【００８４】
【数１】
2013534336.tif 000003
これは、生成多項式ｇ（ｘ）（生成関数）の係数ベクトル（係数はｇ１、…、ｇｐ）
ｇ＝（ｇ１，ｇ２，．．．，ｇＰ）’∈ＢＰ  （６）
のトップ随伴行列とも呼ばれている。出力ｓは最後の状態変数と等しい為、出力ベクトルは、次式で示されるＰ番目の単位行ベクトルになる。
ｃ’＝ｅ’Ｐ＝（０，０，．．．０，１）∈ＢＰ  （７）
【００８５】
（３）を繰り返し適用すると、ｉ番目の時間ステップで、次式で示される状態及び出力が与えられる。
ｘ（ｉ）＝Ｇ’・ｘ０
ｓ（ｉ）＝ｅ’ＰＧ’・ｘ０  （８）
【００８６】
全ての状態が、次式のように正確にＬ＝Ｌｍａｘ＝２Ｐ−１個の時間ステップを繰り返す為、
ｘ（Ｌ＋ｉ）＝ＧＬ・ｘ（ｉ）  （９）
次のように、Ｐ×Ｐ状態遷移行列Ｇは巡回行列である。
ＧＬ＝Ｉ  （１０）
【００８７】
但し、特性（１０）は、巡回行列であることの為には十分ではないことに注意されたい。Ｇ’ｘ（ｉ＝０，１，．．．，Ｌ−１）は又、ＢＰの基底を形成しなければならないが、ここでこれが当てはまるのは、ｘがＢＰ中のＬ＝Ｌｍａｘ＝２Ｐ−１個の非ゼロ状態を全て網羅する為である。
【００８８】
意図されたＰＲＢＳ｛ｓ（ｉ）｝は、Ｍ個のビットストリームｗｍ（ｊ）をｍ＝｛０，１，．．．，Ｍ−１，０，１，．．．｝の順に時間インタリーブすることによって発生させなければならず、従って、次式のように構築しなければならない。
ｗｍ（ｊ）＝ｓ（ｍ＋ｊ・Ｍ）  （１１）
但し、ｊ＝０，１，２，．．．及びｍ＝０，１，．．．，Ｍ−１である。ｗｍ（ｊ）は、Ｒ個の要素ｖｍ（ｋ）がｒ＝１，２，．．．，Ｒの順にシリアル化される為（図３を参照）、ｖｍ（ｋ）は、次式のように、連続するＲ個の値ｗｍ（ｊ）を含んでよい。
【００８９】
【数２】
2013534336.tif 000004
但し、ｋ＝０，１，２，．．．であり、（１１）を適用すると次式になる。
【００９０】
【数３】
2013534336.tif 000005
【００９１】
更に、状態符号化及び出力は選択可能である。シーケンス長がＬｍａｘ＝２Ｐ−１であるＬＦＳＭは、少なくともＰ個の状態ビットを必要とする。Ｍとシーケンス長との公約数がない場合、時間インタリーブされた各ＬＦＳＭ（上記複数の状態機械に含まれる状態機械）は、Ｌｍａｘ個の状態の全てを網羅する為、Ｐ個の要素を有する状態ベクトルｚｍ∈ＢＰも必要である。このことは、次の、第１の（明白な）要件につながる。
要件１：Ｐ≦Ｎ  （１４）
【００９２】
なお、ＭとＬとの公約数がない場合、各ＬＦＳＭは、Ｌ／ｇｃｄ（Ｍ，Ｌ）個の異なる状態を発生させればよく、従って、これらの状態を表す為に
【００９３】
【数４】
2013534336.tif 000006
個の状態ビットがあればよい。
【００９４】
導出を簡略化する為に、実用的に妥当なケースとして、Ｍを偶数とする。従って、次のように、Ｍと、必ず奇数であるＬとの公約数はない（（２）を参照）。
要件２：ｇｃｄ（Ｍ，Ｌ）＝１  （１５）
【００９５】
そこで、状態符号化は、少なくともＲ≦Ｐである場合は、ｖｍ（ｋ）のＲ個の要素が最初のＰ個の状態ビットと等しくなるように、選択可能である。選択された状態符号化は、次のように、パターン（１３）を踏襲する。
【００９６】
【数５】
2013534336.tif 000007
【００９７】
ＲがＰより大きい場合に対応する為には、利用可能なＮ個の出力ｙｍ∈ＢＮを全て、次のように、この同じパターンに従って選択する。
【００９８】
【数６】
2013534336.tif 000008
これは、明白に次式を仮定している。
要件３：Ｒ≦Ｎ  （18）
【００９９】
この選択により、次式のように、次の状態及び出力の間で式を共有することが可能になる。このことが必要であるのは、目標アーキテクチャが非トリビアル出力行列を特徴としない為である。
ｖｍ（ｋ）＝Ｖ・ｙｍ（ｋ）  （１９）
但し、
【０１００】
【数７】
2013534336.tif 000009
【０１０１】
なお、一般的なＬＦＳＲ表記を踏襲して図５に示された、状態ベクトルのＰ番目の要素を出力する状態機械と異なり、上述の状態機械は、最初のＲ個の状態要素を出力する。この番号付けにより、インデックス演算が容易になる。
【０１０２】
ｚｍ（ｋ）は、次のように、状態符号化（１６）及び式（８）から計算できる。
【０１０３】
【数８】
2013534336.tif 000010
或いは簡単に
ｚｍ（ｋ）＝ＱＰＧｋＭＲｘ（ｍ）  （２２）
但し、
【０１０４】
【数９】
2013534336.tif 000011
は、Ｐ×Ｐの状態遷移行列ＧＭを有するＬＦＳＭ（即ち、１サイクルにＬＦＳＲ  ＧのＭ個の時間ステップだけ進む、Ｐ次のＬＦＳＭ）の（正方）可観測性行列として識別でき、出力は最後の状態である。
【０１０５】
次に、ＱＰの非特異性を示す。Ｊ．ジョーダン（Ｊ．  Ｊｏｒｄａｎ）著「多項式シフト逆反復の制御性（Ｃｏｎｔｒｏｌｌａｂｉｌｉｔｙ  ｏｆ  ｐｏｌｙｎｏｍｉａｌ−ｓｈｉｆｔ  ｉｎｖｅｒｓｅ  ｉｔｅｒａｔｉｏｎ）」（システム及び制御に関するベネルクス会議の議事録（Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  Ｂｅｎｅｌｕｘ  Ｍｅｅｔｉｎｇ  ｏｎ  Ｓｙｓｔｅｍｓ  ａｎｄ  Ｃｏｎｔｒｏｌ）、ヘルヴォイルト（Ｈｅｌｖｏｉｒｔ）、オランダ（Ｔｈｅ  Ｎｅｔｈｅｒｌａｎｄｓ）、２００４年３月１７〜１９日）における主定理によれば、システムは、そのシステム行列が巡回行列である場合に限り、制御可能である。ｇｃｄ（Ｍ，Ｌ）＝１と仮定すると、Ｇが巡回行列である為、ＧＭは確かに巡回行列である。双対性の原理により、類似の表現が可観測性にも当てはまり、これは、可観測性行列がフルランクであること、即ち、この場合には、正方行列ＱＰが非特異性であることを示している。
【０１０６】
これにより、次のように、（２２）をＧｋＭＲｘ（ｍ）に関して解くことが可能になる。
【０１０７】
【数１０】
2013534336.tif 000012
【０１０８】
ｚｍ（ｋ）に関する状態式は、（２２）に時間ステップｋ＋１を適用し、上記結果（２４）を用いることによって、次のように導出できる。
【０１０９】
【数１１】
2013534336.tif 000013
【０１１０】
状態遷移行列を
【０１１１】
【数１２】
2013534336.tif 000014
とし、初期状態を（２２）のｋ＝０からとすると、状態式は次のようになる。
ｚｍ（０）＝ＱＰ・ｘ（ｍ）
ｚｍ（ｋ＋１）＝Ｓ・ｚｍ（ｋ）  （２７）
【０１１２】
（２６）はＳとＧＭＲとを相似変換によって結合する為、状態ｚｍ（ｋ）は、毎サイクルｋの間にＭＲ個のＬＦＳＲステップだけ進む。
【０１１３】
（２１）、（２２）、（２３）と同様に、（２４）を用いて、出力式を次のように書くことができる。
【０１１４】
【数１３】
2013534336.tif 000015
但し、
【０１１５】
【数１４】
2013534336.tif 000016
【０１１６】
図３に示されたような、暗黙的出力を有するＬＦＳＭの場合、これらの状態式及び出力式は、図３の構造にマッピングすることが可能であり、これは専用出力行列を含まない。
【０１１７】
ｙｍ（ｋ）のＮ個の要素を、展開された状態ベクトルと見なすことが可能であり、これは、次式のように、状態ベクトルｚｍ（ｋ）のＰ個の要素が、ｙｍ（ｋ）の最初のＰ個の要素と等しい為である。
【０１１８】
【数１５】
2013534336.tif 000017
但し、ＩＰは、Ｐ×Ｐの恒等行列である。そこで、出力式（２８）は、次のような（展開された）状態式に書き直すことが可能である。
【０１１９】
【数１６】
2013534336.tif 000018
展開されたシステムのＮ×Ｎの状態遷移行列（サブレート遷移行列）
【０１２０】
【数１７】
2013534336.tif 000019
がｍに依存しないことは注目に値する。（２８）における初期状態（サブレート初期状態）
ｙｍ（０）＝ＱＮｘ（ｍ）  （３３）
とともに、状態及び出力ｙｍ（ｋ）を組み合わせた最終的なＬＦＳＲは次式になる。
ｙｍ（０）＝ＱＮ・ｘ（ｍ）
ｙｍ（ｋ＋１）＝Ｔ・ｙｍ（ｋ）  （３４）
【０１２１】
ｚｍ（ｋ）を介する遠回りが必要であったのは、ＱＮが一般に正方行列ではない為に、疑似逆行列だけではなく通常の逆行列を有しない為である。
【０１２２】
提案されている概念は、例えば、より低速の複数のビットストリームを時間インタリーブし、更にシリアル化した出力として、プログラム可能なＬＦＳＭから発生させることにより、高速ＰＲＢＳを発生させる方法を提供する。
【０１２３】
複数の状態機械に含まれる状態機械のサブレート遷移行列及びサブレート初期状態を計算する装置は、疑似ランダムビットシーケンス発生器とは独立に実現可能である。これは、それらの状態機械のサブレート遷移行列及びサブレート初期状態を計算するには、目標ビットシーケンス発生器の一部のハードウェアパラメータ（例えば、上記複数の状態機械に含まれる状態機械の数）があればよい為である。サブレート送信行列及びサブレート初期状態は、記憶装置に記憶させることが可能であり、後に疑似ランダムビットシーケンス発生器の状態機械に転送することが可能である。このように、例えば、複数の様々な生成関数及び／又は初期状態に対応する遷移行列及びサブレート初期状態を求めて記憶させることが可能である。この記憶されたデータを、同じハードウェアからなる複数の疑似ランダムビットシーケンス発生器で使用することが可能である。
【０１２４】
同様に、記載されている概念によるビットシーケンス発生器は、上記複数の状態機械に含まれる各状態機械のサブレート遷移行列及びサブレート初期状態を計算する装置とは独立に実装可能であり、これは、記憶装置が、１つ以上の生成関数に関して、各状態機械の遷移行列及びサブレート初期状態を記憶し、出力することが可能な為である。
【０１２５】
しかしながら、例えば、ユーザが個別の生成関数及び／又は初期状態を定義することを必要とする場合には、ビットシーケンス発生器と、上記複数の状態機械に含まれる各状態機械のサブレート遷移行列及びサブレート初期状態を計算する装置との組み合わせを用いてよい。図４は、本発明の一実施形態による、上記複数の状態機械に含まれる状態機械のサブレート遷移行列及びサブレート初期状態を計算する装置を含むビットシーケンス発生器４００のブロック図を示す。図１に示された疑似ランダムビットシーケンス発生器と同様に、疑似ランダムビットシーケンス発生器４００では、２つの状態機械１１０が多重化器１２０に接続されている。更に、ビットシーケンス発生器４００では、サブレート遷移行列２１２及びサブレート初期状態２１４を計算する装置のプロセッサ２１０が各状態機械１１０に接続されている。プロセッサ２１０は、サブレート遷移行列２１２及びサブレート初期状態２１４を計算して各状態機械１１０に与える。各状態機械１１０は、与えられたサブレート遷移行列２１２及びサブレート初期状態２１４に基づいて、それぞれ対応する、時間インタリーブされたビットシーケンス１１２を発生させる。これらの時間インタリーブされたビットシーケンス１１２が多重化器１２０でマージされて、生成関数及び初期状態で定義されるビットシーケンス１２２がフルレートで出力される。
【０１２６】
本発明による幾つかの実施形態は、ビットシーケンス発生器、及び／又は、上述のように上記複数の状態機械に含まれる状態機械のサブレート遷移行列及びサブレート初期状態を計算する装置を含む自動検査設備に関する。
【０１２７】
複数の独立した状態機械１１０を含むビットシーケンス発生器を実装することは、自動検査設備の複数の独立した検査チャネルを各状態機械の実現に用いることが可能である点で、自動検査設備にとって有利である。言い換えると、上述の概念に従って、多重化器を追加し、上記複数の状態機械に含まれる各状態機械のサブレート遷移行列及びサブレート初期状態を与えるだけで、非常に高速のビットシーケンス（例えば、疑似ランダムビットシーケンス）を与えることが可能なビットシーケンス発生器を実装できることになる。
【０１２８】
本発明による幾つかの実施形態は、時間インタリーブされたサブレート状態機械を用いて疑似ランダムビットシーケンスを発生させることに関する。
【０１２９】
これに関して、提案されている概念は、例えば、１２．８Ｇｂｐｓ（又は別のビットレート）のＰＲＢＳを発生させることの理論を説明する。例えば、実速度ＬＦＳＲを用いて１２．８ＧｂｐｓのＰＲＢＳを発生させることは技術的に非常に困難である為、本概念は、例えば、２つ（Ｍ＝２）のコアの６．８Ｇｂｐｓ出力を時間インタリーブすることを提案しており、各コアは、６．８Ｇｂｐｓ出力の更なるフラクション１／Ｒで動作するＮ次のプログラム可能な線形有限状態機械（ＬＦＳＭ）を含んでいる。各サブレート状態機械の初期状態及び後続状態についての式は、Ｐ次の生成多項式、インタリーブされたビットストリームの数Ｍ、及びレート減少係数Ｒの関数として導出可能である。 
【０１３０】
例えば、記載されている概念は、実速度線形帰還シフトレジスタを用いて疑似ランダムビットシーケンスを（例えば１２．８Ｇｂｐｓで）直接発生させることが非常に困難であるという問題を解決する。これは更に、特に多項式（生成関数）がプログラム可能になれば、将来的には２０Ｇｂｐｓ、４０Ｇｂｐｓ、１００Ｇｂｐｓ、又はそれ以上に増える。記載されている概念を用いることにより、ロジック（状態機械）の動作を遅くすることが可能になる。提案されている概念は、疑似ランダムビットシーケンスだけでなく、任意の線形有限状態機械の出力についても当てはまりうる。多項式は、非プリミティブであることも可能である。これは、Ｌ（出力シーケンスの繰り返しビット数）は、依然として奇数である為である。Ｍ（上記複数の状態機械に含まれる状態機械の数）は、Ｌの約数であることも可能である。記載されている概念は、専用の出力行列にも当てはまりうる。これにより、この例では、あらゆるものをより簡単にすることが可能である。
【０１３１】
記載されている概念を用いることにより、上記複数の状態機械又は線形帰還シフトレジスタの出力を時間インタリーブすることにより、結合された出力が、生成関数及び初期状態で定義されるビットシーケンスを与える単一の線形帰還シフトレジスタの出力と等しくなるようにすることが可能である。
【０１３２】
言い換えると、本発明の幾つかの実施形態では、多重化器以外の追加ハードウェアは、必須となり得る他の目的の為には不要であってよい。更に、記載されている概念は、既存の低速疑似ランダムビットシーケンス発生器を活用することが可能である。従って、記載されている概念によるビットシーケンス発生器は、ハードウェアを追加する複雑さがなくてよく、追加の電力消費がなくてよく、更なる高速に対応する規模を有してよく、且つ／又は、任意の多項式を発生させることが可能である。言い換えると、記載されている概念を用いることにより、プログラム可能な多項式を使用して、１２．８Ｇｂｐｓ（又は、更に高速）の疑似ランダムビットシーケンスを発生させることが可能になる。
【０１３３】
記載されている概念と比較すると、既知のカスタムバイポーラ設計を、例えば、１２．８Ｇｂｐｓで動作させることは、非常に困難であり、膨大な量の電力を消費し、多項式に制約を与える。
【０１３４】
図９は、本発明の一実施形態による、生成関数及び生成関数の初期状態で定義されるビットシーケンスを発生させる方法９００のフローチャートを示す。方法９００は、複数の時間インタリーブされたビットシーケンスを発生させるステップ９１０と、発生させた、時間インタリーブされた各ビットシーケンスから１つのビットを連続的に選択することを繰り返すことにより、生成関数及び生成関数の初期状態で定義されるビットシーケンスを生成するステップ９２０と、を含む。時間インタリーブされたビットシーケンスの、現在の時間ステップにおいて発生させるビットは、先行する時間ステップにおいて、（例えば、この、時間インタリーブされたビットシーケンスについて）発生させた少なくとも１つのビットに基づき、且つ、発生させるビットシーケンスの生成関数に基づき、且つ、生成関数の初期状態に基づき、且つ、発生させた、別の、時間インタリーブされたビットシーケンスから独立している。
【０１３５】
方法９００は、上述のビットシーケンス発生器の特徴に対応する更なるステップを含んでよい。
【０１３６】
図１０は、本発明の一実施形態による、複数の状態機械に含まれる状態機械についてサブレート遷移行列及びサブレート初期状態を計算する方法１０００のフローチャートを示す。方法１０００は、状態機械のサブレート初期状態を計算するステップ１０１０と、状態機械のサブレート遷移行列を計算するステップ１０２０と、を含む。サブレート初期状態の計算１０１０は、フルレートビットシーケンスの生成関数と、生成関数の初期状態と、上記複数の状態機械に含まれる状態機械の数と、に基づいて行う。更に、サブレート遷移行列の計算１０２０は、生成関数と、状態機械の数とに基づいて行う。
【０１３７】
方法１０００は、上述の、複数の状態機械に含まれる状態機械のサブレート遷移行列及びサブレート初期状態を計算する装置の特徴に対応する更なるステップを含んでよい。
【０１３８】
記載された概念の幾つかの態様を一装置の文脈で説明してきたが、これらの態様は、ブロックや装置が、方法ステップや方法ステップの特徴に対応しており、対応する方法の説明にもなっていることは明らかである。同様に、方法ステップの文脈で説明された各態様は、対応する装置の、対応するブロックやアイテムや特徴の説明にもなっている。 
【０１３９】
本発明の実施形態は、特定の実装要件に応じて、ハードウェア又はソフトウェアの形で実装可能である。この実装は、電子的読み出し可能な制御信号が記憶されたデジタル記憶媒体（例えば、フロッピーディスク、ＤＶＤ、ブルーレイ、ＣＤ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、又はフラッシュメモリ）を用いて実施可能であり、これらの記憶媒体は、それぞれの方法が実施されるように、プログラム可能なコンピュータシステムと連携する（又は連携することが可能である）。従って、これらのデジタル記憶媒体は、コンピュータ可読であってよい。
【０１４０】
本発明による幾つかの実施形態は、電子的読み出し可能な制御信号を有するデータ担体を含み、これらの制御信号は、本明細書に記載の方法のいずれかが実施されるように、プログラム可能なコンピュータシステムと連携することが可能である。
【０１４１】
一般に、本発明の実施形態は、プログラムコードを有するコンピュータプログラム製品として実装可能であり、このプログラムコードは、このコンピュータプログラム製品がコンピュータ上で実行されたときに本方法のいずれかを実施するように動作する。このプログラムコードは、例えば、機械可読担体に記憶されてよい。
【０１４２】
他の実施形態は、機械可読担体に記憶された、本明細書に記載の方法のいずれかを実施する為のコンピュータプログラムを含む。
【０１４３】
言い換えると、本発明の方法の一実施形態は、従って、コンピュータプログラムがコンピュータ上で実行されたときに、本明細書に記載の方法のいずれかを実施するプログラムコードを有するコンピュータプログラムである。
【０１４４】
本発明の方法の別の実施形態は、従って、本明細書に記載の方法のいずれかを実施するコンピュータプログラムが記録されたデータ担体（又はデジタル記憶媒体、又はコンピュータ可読媒体）である。
【０１４５】
本発明の方法の別の実施形態は、従って、本明細書に記載の方法のいずれかを実施する為のコンピュータプログラムを表すデータストリーム又は信号シーケンスである。このデータストリーム又は信号シーケンスは、例えば、データ通信接続経由（例えば、インターネット経由）で転送されるように構成されてよい。
【０１４６】
別の実施形態は、本明細書に記載の方法のいずれかを実施するように構成（又は適合）された処理手段（例えば、コンピュータ、又はプログラマブルロジックデバイス）を含む。
【０１４７】
別の実施形態は、本明細書に記載の方法のいずれかを実施する為のコンピュータプログラムがインストールされたコンピュータを含む。
【０１４８】
実施形態によっては、プログラマブルロジックデバイス（例えば、フィールドプログラマブルゲートアレイ）を用いて、本明細書に記載の方法の機能性の一部又は全てを実施することが可能である。実施形態によっては、本明細書に記載の方法のいずれかを実施する為に、フィールドプログラマブルゲートアレイをマイクロプロセッサと連携させることが可能である。一般に、これらの方法は、任意のハードウェア装置での実施が好ましい。
【０１４９】
上述の実施形態は、本発明の原理に対して例示的であるに過ぎない。本明細書に記載の構成及び詳細に対する修正や変更が可能であることは、当業者であれば明らかであろうことを理解されたい。従って、本発明の趣旨は、後述の特許請求の範囲によってのみ限定されるものであって、本明細書に記載の実施形態の記述及び説明によって提示された具体的詳細によって限定されるものではない。
【図１】
2013534336.tif 000028
【図２】
2013534336.tif 000029
【図３】
2013534336.tif 000030
【図４】
2013534336.tif 000031
【図５】
2013534336.tif 000032
【図６】
2013534336.tif 000033
【図７】
2013534336.tif 000034
【図８】
2013534336.tif 000035
【図９】
2013534336.tif 000036
【図１０】
2013534336.tif 000037
【手続補正書】
【提出日】平成25年3月29日(2013.3.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
生成関数及び前記生成関数の初期状態で定義されるビットシーケンス（１２２、ｓ（ｉ））を発生させるビットシーケンス発生器（１００、３００、４００）であって、
複数の状態機械であって、前記複数の状態機械に含まれる各状態機械（１１０、３１０）は、時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））を発生させるように構成されており、状態機械（１１０、３１０）が、現在の時間ステップにおいて、前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））のビットを発生させることを、先行する時間ステップにおいて、前記状態機械（１１０、３１０）が発生させた少なくとも１つのビットに基づいて、且つ、発生させる前記ビットシーケンス（１２２、ｓ（ｉ））の前記生成関数に基づいて、且つ、前記生成関数の前記初期状態に基づいて、且つ、前記複数の状態機械（１１０、３１０）に含まれる別の状態機械（１１０、３１０）が発生させた前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））とは独立に行う、前記複数の状態機械と、
発生した、時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））のそれぞれから１つのビットを連続的に選択することを繰り返すことにより、前記生成関数及び前記生成関数の前記初期状態で定義される前記ビットシーケンス（１２２、ｓ（ｉ））を生成するように構成された多重化器（１２０）と、を備え、
前記状態機械（１１０、３１０）はシリアライザ（３３０）を備えており、前記シリアライザ（３３０）は、前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））のうちの、ある時間ステップにおいて発生する状態ビットに含まれているビットを各時間ステップにおいて選択することにより、前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））を中間的なビットレート（ｆ／Ｍ）でシリアル出力するように構成されており、前記中間的なビットレート（ｆ／Ｍ）は、サブビットレート（ｆ／（ＲＭ））に、前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））のうちの、同じ時間ステップの間に発生する、事前定義されたビット数（Ｒ）を乗じたものに等しい、
ビットシーケンス発生器。
【請求項２】
前記複数の状態機械に含まれる状態機械（１１０、３１０）が、各時間ステップにおいて、対応する前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））のうちの事前定義された数（Ｒ）のビットを発生させるように構成されている、請求項１に記載のビットシーケンス発生器。
【請求項３】
前記複数の状態機械に含まれる状態機械（１１０、３１０）が、前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））のうちの前記事前定義された数（Ｒ）のビットをサブビットレートで発生させるように構成されており、前記多重化器（１２０）は、前記生成したビットシーケンスを、前記サブビットレートの整数倍であるフルビットレートで出力するように構成されている、請求項２に記載のビットシーケンス発生器。
【請求項４】
前記整数倍の整数は、前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））のうちの前記事前定義されたビット数（Ｒ）と、前記複数の状態機械（１１０、３１０）に含まれる状態機械の数（Ｍ）との積である、請求項３に記載のビットシーケンス発生器。
【請求項５】
前記複数の状態機械に含まれる前記状態機械（１０、３１０）の状態は、同じ時間ステップの間に前記状態機械（１１０、３１０）がパラレルに発生させる事前定義された数（Ｎ）の状態ビットで定義され、前記事前定義された数（Ｎ）の状態ビットは、同じ時間ステップにおける前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））のうちの少なくとも前記事前定義された数（Ｒ）のビットを含む、請求項２に記載のビットシーケンス発生器。
【請求項６】
前記複数の状態機械に含まれる状態機械（１１０、３１０）が、サブレート遷移行列（Ｔ）及びサブレート初期状態（ｙｍ（０））に基づいて、前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））を発生させ、前記サブレート遷移行列（Ｔ）及び前記サブレート初期状態（ｙｍ（０））は、前記生成関数及び前記生成関数の前記初期状態に基づく、請求項１に記載のビットシーケンス発生器。
【請求項７】
前記サブレート遷移行列（Ｔ）は、前記複数の状態機械に含まれる全ての状態機械（１１０、３１０）に対して同じであり、前記サブレート初期状態（ｙｍ（０））は、前記複数の状態機械に含まれる全ての状態機械（１１０、３１０）に対して様々である、請求項６に記載のビットシーケンス発生器。
【請求項８】
前記複数の状態機械は、状態機械（１１０、３１０）を２つだけ含むか、状態機械（１１０、３１０）を３つ以上含む、請求項１に記載のビットシーケンス発生器。
【請求項９】
前記発生させるビットシーケンス（１２２、ｓ（ｉ））は、疑似ランダムビットシーケンスである、請求項１に記載のビットシーケンス発生器。
【請求項１０】
複数の状態機械に含まれる状態機械のサブレート遷移行列（２１２、Ｔ）及びサブレート初期状態（２１４、ｙｍ（０））を計算する装置（２００）であって、
前記状態機械の前記サブレート初期状態（２１４、ｙｍ（０））の計算を、フルレートのビットシーケンスの生成関数（２０２）と、前記生成関数の初期状態（２０４）と、前記複数の状態機械に含まれる状態機械の数（Ｍ）と、に基づいて行うように構成されており、且つ、前記状態機械の前記サブレート遷移行列（２１２、Ｔ）の計算を、前記生成関数（２０２）及び前記状態機械数（２０６、Ｍ）に基づいて行うように構成されているプロセッサ（２１０）
を備える装置を含む、
請求項１に記載のビットシーケンス発生器。
【請求項１１】
前記プロセッサ（２１０）は、前記サブレート遷移行列（２１２、Ｔ）の計算を、前記生成関数（２０２）の前記初期状態（２０４）とは独立に行うように構成されている、請求項１０に記載のビットシーケンス発生器。
【請求項１２】
前記プロセッサ（２１０）は、前記生成関数（２０２）に基づいてフルレート遷移行列（Ｇ）を求めるように構成されており、前記プロセッサ（２１０）は、前記フルレート遷移行列（Ｇ）及び前記状態機械数（Ｍ）に基づいて前記サブレート遷移行列（２１２、Ｔ）を計算するように構成されており、前記プロセッサ（２１０）は、前記フルレート遷移行列（Ｇ）、前記生成関数（２０２）の前記初期状態（２０４）、及び前記状態機械数（２０６、Ｍ）に基づいて前記サブレート初期状態（２１４）を計算するように構成されている、請求項１０に記載のビットシーケンス発生器。
【請求項１３】
前記プロセッサ（２１０）は、前記複数の状態機械に含まれる各状態機械について前記サブレート初期状態（２１４、ｙｍ（０））を計算するように構成されており、前記計算されたサブレート初期状態（２１４、ｙｍ（０））が互いに異なる、請求項１０に記載のビットシーケンス発生器。
【請求項１４】
前記プロセッサ（２１０）は、前記サブレート遷移行列（２１２、Ｔ）を計算するように構成されており、前記サブレート遷移行列（２１２、Ｔ）は、前記複数の状態機械に含まれる全ての状態機械に対して同じである、請求項１０に記載のビットシーケンス発生器。
【請求項１５】
前記サブレート遷移行列（２１２、Ｔ）は、事前定義された行数（Ｎ）を有する正方行列であり、前記事前定義された行数（Ｎ）は、前記生成関数の次数（Ｐ）以上である、請求項１０に記載のビットシーケンス発生器。
【請求項１６】
前記プロセッサ（２１０）は、次式に従って前記サブレート遷移行列（２１２、Ｔ）を計算するように構成されており、
【数１】
2013534336.tif 000038
Ｎは、Ｔの前記事前定義された行数であり、Ｍは、前記複数の状態機械に含まれる状態機械の数であり、Ｐは、前記生成関数の次数であり、Ｇは、前記フルレート遷移行列であり、Ｒは、状態機械が、前記サブレート遷移行列を用いて、同じ時間ステップの間に発生させる前記ビットシーケンスのビット数であり、
【数２】
2013534336.tif 000039
であり、
【数３】
2013534336.tif 000040
であり、
【数４】
2013534336.tif 000041
である、請求項１０に記載のビットシーケンス発生器。
【請求項１７】
前記プロセッサ（２１０）は、次式に従って前記サブレート初期状態（２１４、ｙｍ（０））を計算するように構成されており、
【数５】
2013534336.tif 000042
ｍは、前記サブレート初期状態を計算する対象となる各状態機械に割り当てられた個別番号であって、前記複数の状態機械に含まれる状態機械の数（Ｍ）以下の値を含んでおり、Ｎは、前記サブレート遷移行列（Ｔ）の前記事前定義された行数であり、
【数６】
2013534336.tif 000043
であり、
【数７】
2013534336.tif 000044
であり、Ｐは、前記生成関数の次数であり、Ｇは、前記フルレート遷移行列であり、
【数８】
2013534336.tif 000045
である、請求項１０に記載のビットシーケンス発生器。
【請求項１８】
状態機械（８００）を有し、前記状態機械（８００）は、
第１のクロックレートを有する中間的なレートの入力信号の為の入力（８０２）と、
前記中間的なレートの入力信号を、前記第１のクロックレートのフラクションである第２のクロックレートを有するサブレート入力信号に変換するデシリアライザ（８４０）と、
前のサブレート内部状態と、前記サブレート入力信号とに基づいてサブレート内部状態を更新することと、前記前の、又は更新されたサブレート内部状態に基づいてサブレート出力信号を出力することと、を行うように構成されたサブレート有限状態機械（８１０）と、
前記サブレート出力信号をシリアル化して、前記第１のクロックレートを有する中間的なレートの出力信号を生成するように構成されたシリアライザ（８３０）と、を備え、
前記サブレート有限状態機械（８１０）は、前記サブレート内部状態を前記第２のクロックレートで更新するように構成されている、
請求項１に記載のビットシーケンス発生器。
【請求項１９】
ワードストリームを発生させる状態機械を有し、前記ワードストリームの各ワードは、時間インタリーブされたビットシーケンスのうちの複数のサブシーケンスビットを含み、前記状態機械は、
対応する入力及び対応する出力を備える複数のクロックレジスタ（７１０）と、
前記レジスタ（７１０）の前記入力及び前記出力と結合されて、前記生成関数と、前記レジスタの状態を表す、前記レジスタの前記複数のレジスタ出力信号とに基づいて、複数の帰還信号を前記レジスタの前記入力に与えるように適合された帰還回路（７３０）と、を備え、
前記状態機械（７００）は、前記複数のレジスタ出力信号で定義された第１のワードが、前記時間インタリーブされたビットシーケンスのサブシーケンスビットの第１の集合を含むように、且つ、前記複数のレジスタ出力信号で定義された後続の第２のワードが、前記時間インタリーブされたビットシーケンスのサブシーケンスビットの第２の集合を含むように、構成されている、
請求項１に記載のビットシーケンス発生器。
【請求項２０】
請求項１に記載のビットシーケンス発生器を備える、自動検査設備。
【請求項２１】
生成関数及び前記生成関数の初期状態で定義されるビットシーケンスを発生させる方法（９００）であって、
複数の時間インタリーブされたビットシーケンスを発生させるステップ（９１０）であって、前記複数の時間インタリーブされたビットシーケンスに含まれる時間インタリーブされたビットシーケンスのビットを、現在の時間ステップにおいて発生させること（９１０）は、先行する時間ステップにおいて発生させた少なくとも１つのビットに基づき、且つ、発生させる前記ビットシーケンスの前記生成関数に基づき、且つ、前記生成関数の前記初期状態に基づき、且つ、前記複数の時間インタリーブされたビットシーケンスに含まれる、発生させた、別の、時間インタリーブされたビットシーケンスから独立している、前記発生させるステップ（９１０）と、
発生させた、時間インタリーブされた各ビットシーケンスから１つのビットを連続的に選択することを繰り返すことにより、前記生成関数及び前記生成関数の初期状態で定義される前記ビットシーケンスを生成するステップ（９２０）と、を含み、
前記複数の時間インタリーブされたビットシーケンスを発生させるステップ（９１０）は、前記複数の時間インタリーブされたビットシーケンスのそれぞれにおいて、前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））のうちの、ある時間ステップにおいて発生する状態ビットに含まれているビットを各時間ステップにおいて選択することにより、前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））を中間的なビットレート（ｆ／Ｍ）でシリアル出力するように構成されており、前記中間的なビットレート（ｆ／Ｍ）は、サブビットレート（ｆ／（ＲＭ））に、前記時間インタリーブされたビットシーケンス（１１２、ｗｍ（ｊ））のうちの、同じ時間ステップの間に発生する、事前定義されたビット数（Ｒ）を乗じたものに等しい、
方法（９００）。
【請求項２２】
コンピュータプログラムであって、コンピュータ上又はマイクロコントローラ上で実行された場合に請求項２１に記載の方法を実施するプログラムコードを有するコンピュータプログラム。
【国際調査報告】
2013534336.tif 000046
2013534336.tif 000047
2013534336.tif 000048
2013534336.tif 000049
2013534336.tif 000050