Main Content

mask2shift

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

構文

shift = mask2shift(prpoly,mask)

説明

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

  • 多項式の文字ベクトル

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

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

mask 入力は長さが原始多項式の次数であるバイナリ ベクトルです。

メモ

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

マスクおよびシフトと疑似ノイズ シーケンス生成との関連性の詳細については、shift2mask を参照してください。

等価シフトの定義

A が原始多項式の根で m(A) が A で評価されるマスク多項式の場合、等価シフト s は方程式 As = m(A) の解です。ベクトル mask を多項式として解釈するには、mask を降べきの順の係数のリストとして扱います。

すべて折りたたむ

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

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

s1 = mask2shift([1 1 0 0 1],[1 0 0 1])
s1 = 4

1 のマスクをシフトに変換します。このマスクは、0 のシフトと等価です。

s2 = mask2shift([1 1 0 0 1],[0 0 0 1])
s2 = 0

x2 のマスクを、原始多項式 x3+x+1 の等価のシフトに変換します。

s3 = mask2shift('x3+x+1','x2')
s3 = 2

参考文献

[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 より前に導入