Design Ideas

周期長が2NのM系列を生成

[2007年05月号]

By 登地 功 デルタテクノロジー
この記事を :  印刷する プリントする ブックマーク  はてなブックマークに登録 この記事をクリップ! Buzzurlにブックマーク Yahoo!ブックマークに登録 メールで送る メールで送る
周期長が2NのM系列を生成
 よく知られているように、M系列はスペクトラム拡散通信、暗号化、エラー訂正、白色雑音生成などに広く使われている擬似ランダム系列である。M系列の生成には、LFSR(linear feedback shift register)と呼ばれるXORゲート(またはXNORゲート)で帰還をかけたシフトレジスタが使われる(図1)。Nビットのシフトレジスタで構成されるLFSRで発生可能なM系列の周期長は2N-1になる。

図1 通常のLFSR
図1 通常のLFSR


 このような簡単な構成によって長いシーケンスを発生できるので、M系列の発生回路を分周カウンタなどとして使いたいことがある。しかし、カウンタとして用いる場合、その周期は2N-1よりも、2Nのほうが便利だ。また、M系列では1周期の出力に現れる1と0の総数が1だけ異なる(例えば、周期が2N-1のM系列には、1が2N-1個、0が2N-1-1個現われる)。そのため、白色雑音やランダムデータの発生源として使用する場合にも都合が悪いケースがある。本稿では、M系列の周期長を2Nとし、出力に現れる1と0の総数を同じにする方法を紹介する。

 まず、通常のLFSRでのM系列生成回路の1つの特徴に注目してみる。通常、XORゲートで帰還をかけたLFSRでは、シフトレジスタの値がすべて0の状態が現れないようにする(XNORで帰還をかける場合は、すべてが1にならないようにする)。もしこの状態になると、LFSRのすべてのレジスタが0を出力し続けてしまい、その状態から永久に抜け出すことができないからだ。従って、電源投入時に、すべての値が0にならないようにシフトレジスタを初期化するか、すべてが0になったことを検出したらループから抜け出せるようなトラップ回路を設ける必要がある。

 LFSRの周期長を2Nにするには、通常は使われないすべてが0(またはすべてが1)の状態をM系列に加えればよい。これを実現する回路を検討してみよう。例として、XORゲートによる帰還パスを持ったLFSRにすべて0の状態を組み込むことにする。シフトレジスタは右シフトとし、帰還回路の信号が左側から入力(シフトイン)されるものとしよう。以下では、シフトレジスタに格納される値を左のレジスタから順に(000...000)のように表記する。

 変更に当たっては、シフトレジスタには手を加えず、帰還回路の変更で済ませたいところだ。そのほうが回路が簡単で、HDLコードも記述しやすくなる。シフトレジスタには手を加えないことを前提にすると、新たに加える状態(000...000)の前の状態は(000...001)でなければならない。通常のLFSRであれば、(000...001)の次は左から1が入力されて次ページの図2(a)のような状態になる。

図2 LFSRの状態遷移
図2 LFSRの状態遷移


 それに対し、周期長2NのLFSRでは、間に(000...000)の状態を組み込み、図2(b)のようにする。それには、通常のLFSRの帰還回路とシフトレジスタの入力の間にXORゲートをもう1つ入れ、右端以外のレジスタがすべて0になったらそれを検出して「シフトレジスタの出力値が右端以外すべて0のときだけ、シフトレジスタの入力を反転する」ようにする。つまり、右端以外のレジスタの値の負入力のANDをとり、XORゲートでシフトレジスタの入力を反転すれはよい。これであれば、元のLFSRに追加するのは(N-1)入力のANDゲートとXORゲートだけなので回路は簡単である(図3)。

図3 周期長が2NのLFSR
図3 周期長が2NのLFSR


 新たな2N周期長のM系列と元のM系列を比べると、ランダム性などの性質はほとんど変わらない。しかし、系列に出現する1と0の総数は同じになる。また、2Nカウントの同期カウンタとして用いるなら、おそらくゲート数が最小で、かつ最速なものとなろう。

この記事を :  印刷する プリントする ブックマーク  はてなブックマークに登録 この記事をクリップ! Buzzurlにブックマーク Yahoo!ブックマークに登録 メールで送る メールで送る

Sponsor Links

Partner Solutions

EDN RESOURCE CENTER


新着ホワイトペーパー情報




アナログ・デバイセズ - 22件
インターナショナル・レクティファイアー・ジャパン - 1件
ナショナル セミコンダクター ジャパン - 9件
リニアテクノロジー - 15件
日本アルテラ - 4件
リード・ビジネス・インフォメーション - 1件