Main Content

shift2mask

シフト レジスタ構成用にシフトをマスク ベクトルに変換

構文

mask = shift2mask(prpoly,shift)

説明

mask = shift2mask(prpoly,shift) は、原始多項式 prpoly で指定される接続をもつ線形フィードバック シフト レジスタに対して、shift により指定されたシフト (またはオフセット) と等価のマスクを出力します。prpoly 入力は次のいずれかの形式をもつことができます。

  • 多項式の文字ベクトル

  • 原始多項式の係数を降べきの順に並べたバイナリ ベクトル

  • 最下位ビットが定数項の場合に、バイナリ表現が原始多項式の係数を与える整数スカラー

shift 入力は整数のスカラーです。

メモ

時間を節約するため、shift2maskprpoly が原始多項式かどうかはチェックしません。原始多項式でない場合、出力は意味がありません。原始多項式を求めるには、primpoly を使用するか、[2]を参照してください。

等価マスクの定義

シフト s の等価マスクは、多項式 xs を原始多項式で除算した後の残余です。ベクトル mask は、係数を降べきの順に並べることによって、残余多項式を表します。

シフト、マスク、疑似ノイズ シーケンス発生器

線形フィードバック シフト レジスタは、疑似ノイズ シーケンス発生器の実装の一部です。以下に疑似ノイズ シーケンス発生器の回路図を示します。すべての加算器は 2 を法とする加算を実行します。

原始多項式は gk というラベルが付いた各スイッチの状態を決定し、マスクは mk というラベルが付いた各スイッチの状態を決定します。図の後半は、出力シーケンスの開始点を遅延させるシフトの実装を示しています。シフトが 0 の場合、m0 スイッチが閉じ、他のすべての mk スイッチが開きます。次の表は、シフトがシフト レジスタの出力に与える影響を示しています。

T = 0T = 1T = 2...T = sT = s+1
Shift = 0x0 x1 x2 ...xs xs+1
Shift = s > 0xs xs+1 xs+2 ... x2s x2s+1

Communications Toolbox™ ソフトウェアがあり、Simulink® モデルで疑似ノイズ シーケンスを生成させたい場合は、PN Sequence Generator ブロックのリファレンス ページを参照してください。

すべて折りたたむ

線形フィードバック シフト レジスタのシフトを等価のマスクに変換します。

シフト 5 を、原始多項式 x4+x3+1 で指定される接続をもつ線形フィードバック シフト レジスタに対する等価なマスク x3+x+1 に変換します。マスクの長さは、原始多項式の次数 4 と等しくなります。

mk = shift2mask([1 1 0 0 1],5)
mk = 1×4

     1     0     1     1

シフト 7 を、原始多項式 x5+x2+1 のマスク x4+x2 に変換します。

mk2 = shift2mask('x5+x2+1',7)
mk2 = 1×5

     1     0     1     0     0

参考文献

[1] Lee, J. S., and L. E. Miller, CDMA Systems Engineering Handbook, Boston, Artech House, 1998.

[2] Simon, Marvin K., Jim K. Omura, et al., Spread Spectrum Communications Handbook, New York, McGraw-Hill, 1994.

バージョン履歴

R2006a より前に導入