最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

comm.GoldSequence

Gold シーケンスの生成

説明

GoldSequence オブジェクトは Gold シーケンスを生成します。Gold シーケンスは、高い周期的な相互相関を特徴とする大きなクラスのシーケンスを形成します。

Gold シーケンスを生成するには、以下の手順に従います。

  1. Gold シーケンス オブジェクトを定義および設定します。構築を参照してください。

  2. step を呼び出して、comm.GoldSequence のプロパティに従い、Gold シーケンスを生成します。step の動作は、ツールボックスの各オブジェクト固有のものです。

メモ

R2016b 以降では、step メソッドを使用して、System object™ によって定義された演算を実行する代わりに、引数を関数であるかのように使ってオブジェクトを呼び出すことができます。たとえば、y = step(obj)y = obj() は同等の演算を実行します。

構築

H = comm.GoldSequence は Gold シーケンス発生器 System object H を作成します。このオブジェクトは疑似乱数の Gold シーケンスを生成します。

H = comm.GoldSequence(Name,Value) は、指定された各プロパティを指定値に設定して、Gold シーケンス発生器オブジェクト H を作成します。(Name1,Value1,...,NameN,ValueN) のように、のように、追加の名前と値のペアの引数を任意の順番で指定できます。

プロパティ

FirstPolynomial

最初に優先される PN シーケンスの生成多項式

最初に優先される PN シーケンス発生器のシフト レジスタに対するフィードバック接続を決定する多項式を指定します。既定の設定は 'z^6 + z + 1' です。多項式を文字ベクトルとして指定できます。生成多項式は、多項式の係数を降べきの順で表示する数値バイナリ ベクトルとして指定することもできます。最初と最後の要素は 1 でなければならず、このベクトルの長さは n+1 の値をとる必要があります。ここで n は生成多項式の次数です。最後に、生成多項式を、降べき順の多項式の非ゼロ項の z の指数を含む数値ベクトルとして指定できます。最後のエントリは 0 でなければなりません。たとえば、[1 0 0 0 0 0 1 0 1][8 2 0] は同一の多項式 g(z)=z8+z2+1 を表します。1 番目の生成多項式の次数は、SecondPolynomial プロパティに指定した 2 番目の生成多項式の次数と等しくなければなりません。

FirstInitialConditions

1 番目の PN シーケンス発生器の初期条件

最初に優先される PN シーケンス発生器のシフト レジスタに対する初期条件を指定します。既定の設定は [0 0 0 0 0 1] です。初期条件には、FirstPolynomial のプロパティに指定された 1 番目の生成多項式の次数と等しい長さの、数値のバイナリ スカラーまたは数値のバイナリ ベクトルでなければなりません。このプロパティをベクトルに設定した場合、ベクトルの各要素がシフト レジスタで対応するセルの初期値に対応します。このプロパティをスカラーに設定した場合、シフト レジスタのすべてのセルの初期条件は指定されたスカラー値です。

SecondPolynomial

2 番目に推奨される PN シーケンスの生成多項式

2 番目に推奨される PN シーケンス発生器のシフト レジスタに対するフィードバック接続を決定する多項式を指定します。既定の設定は 'z^6 + z^5 + z^2 + z + 1' です。多項式を文字ベクトルとして指定できます。生成多項式を、生成多項式の係数を降べきの順に並べたバイナリの数値ベクトルとして指定することもできます。最初と最後の要素は 1 でなければならず、このベクトルの長さは n+1 の値をとる必要があります。ここで n は生成多項式の次数です。最後に、生成多項式を、降べき順の多項式の非ゼロ項の z の指数を含む数値ベクトルとして指定できます。最後のエントリは 0 でなければなりません。たとえば、[1 0 0 0 0 0 1 0 1][8 2 0] は同一の多項式 g(z)=z8+z2+1 を表します。2 番目の生成多項式の次数は、FirstPolynomial プロパティに指定した 1 番目の生成多項式の次数と等しくなければなりません。

SecondInitialConditionsSource

2 番目の PN シーケンスの初期条件のソース

2 番目の PN シーケンスの先頭を決める初期条件のソースを Property または Input port の 1 つとして指定します。既定の設定は Property です。このプロパティを Property に設定すると、SecondInitialConditions プロパティを使用して、初期条件をスカラーまたはバイナリ ベクトルとして指定できます。このプロパティを Input port に設定する場合は、初期条件を step メソッドの入力として指定します。このオブジェクトはバイナリ スカラーまたはバイナリ ベクトルの入力を受け入れます。入力の長さは、SecondPolynomial プロパティで指定される生成多項式の次数に等しくなければなりません。

SecondInitialConditions

2 番目の PN シーケンス発生器の初期条件

2 番目に優先される PN シーケンス発生器のシフト レジスタの初期条件を、数値、バイナリ スカラーまたは数値、バイナリ ベクトルで指定します。この長さは 2 番目の生成多項式の次数と等しくなければなりません。SecondPolynomial プロパティに 2 番目の生成多項式を設定します。

このプロパティをベクトルに設定した場合、ベクトルの各要素がシフト レジスタで対応するセルの初期値に対応します。既定の設定は [0 0 0 0 0 1] です。

このプロパティをスカラーに設定した場合、シフト レジスタのすべてのセルの初期条件は指定されたスカラー値です。

Index

対象の出力シーケンスのインデックス

一連の使用可能なシーケンスから対象とする出力シーケンスのインデックスを、スカラー整数で指定します。既定の設定は 0 です。このスカラー整数は、[–2, 2n–2] の範囲内でなければなりません。ここで n は、FirstPolynomial および SecondPolynomial プロパティに指定される生成多項式の次数です。

インデックス値 -2 および -1 は、それぞれ FirstPolynomialSecondPolynomial によって生成された、1 番目と 2 番目に優先される PN シーケンスに対応しています。

使用可能な Gold シーケンスのセット G(u, v) は次のように定義されます。G(u,v) = {u, v, (uxor Tv), (u xor T2v), ..., (u xor T((N–1)v))}.ここで、T はベクトルを 1 か所ずつ巡回的に左シフトさせる演算子を表し、u, v は、2 つの優先される PN シーケンスを表します。また、G(u,v) には周期 N の N+2 の Gold シーケンスが含まれます。Index プロパティを使用して、このセットから目的のシーケンスを選択します。

Shift

初期時間からのシーケンスのオフセット

Gold シーケンスの開始点からのオフセットを、数値の整数スカラー値で指定します。この値は正または負にできます。既定の設定は 0 です。Gold シーケンスの周期は N = 2n1 です。ここで n は、FirstPolynomial および SecondPolynomial プロパティで指定した生成多項式の次数です。シフト値はシーケンス周期に対してラップされます。

VariableSizeOutput

可変サイズの出力を有効にする

このプロパティを true に設定すると、step メソッドへの追加入力が可能になります。既定値は偽です。このプロパティを true に設定した場合、有効にされた入力で step メソッドに使用される Gold シーケンスの出力サイズを指定します。入力値は、MaximumOutputSize プロパティの値以下でなければなりません。

このプロパティを false に設定すると、SamplesPerFrame プロパティで出力サンプルの数が指定されます。

MaximumOutputSize

Maximum output size

Gold シーケンスの最大出力サイズを、正の整数の 2 要素行ベクトルとして指定します。ベクトルの 2 番目の要素は 1 でなければなりません。既定値は [10 1] です。

このプロパティは、VariableSizeOutput プロパティを true に設定した場合に適用されます。

SamplesPerFrame

フレームごとの出力サンプル数

step メソッドが出力する Gold シーケンス サンプルの数を数値の整数スカラー値で指定します。既定の設定は 1 です。このプロパティを値 M に設定した場合、step メソッドは M サンプルの Gold シーケンスを N = 2n1 の周期で出力します。ここで n の値は、FirstPolynomial および SecondPolynomial プロパティに指定された生成多項式の次数を表します。

ResetInputPort

生成器リセット入力を有効にする

このプロパティを true に設定すると、step メソッドへの追加のリセット入力が有効になります。既定の設定は false です。この入力で、Gold シーケンス発生器の 2 つのシフト レジスタの状態が FirstInitialConditions および SecondInitialConditions プロパティに指定された初期条件にリセットされます。

OutputDataType

出力のデータ型

出力データ型を doublelogical または Smallest unsigned integer のいずれかに指定します。既定の設定は double です。

Smallest unsigned integer モードでこのプロパティを使用するには、Fixed-Point Designer™ のユーザー ライセンスを所有していなければなりません。

メソッド

resetGold シーケンス発生器オブジェクトの状態のリセット
stepGold シーケンスの生成
すべての System object に共通
release

System object のプロパティ値の変更の許可

すべて展開する

周期が 25-1 である Gold シーケンスを 10 サンプル生成します。

goldseq = comm.GoldSequence('FirstPolynomial','x^5+x^2+1',...
    'SecondPolynomial','x^5+x^4+x^3+x^2+1',...
    'FirstInitialConditions',[0 0 0 0 1],...
    'SecondInitialConditions',[0 0 0 0 1],...
    'Index',4,'SamplesPerFrame',10);
x = goldseq()
x = 10×1

     1
     1
     1
     0
     0
     0
     0
     0
     0
     1

アルゴリズム

このオブジェクトは、Gold Sequence Generator ブロックのリファレンス ページで説明されているアルゴリズム、入力、および出力を実装しています。オブジェクト プロパティはブロック パラメーターに対応します。

拡張機能