Kasami Sequence Generator
カサミ シーケンスのセットからのカサミ シーケンスの生成

ライブラリ:
Communications Toolbox /
Comm Sources /
Sequence Generators
説明
Kasami Sequence Generator ブロックは、カサミ シーケンスのセットから 1 つのシーケンスを生成します。カサミ シーケンスは、良好な相互相関特性をもつ一連のシーケンスです。詳細については、カサミ シーケンスを参照してください。
このブロックは、シミュレーション中に長さが変わるシーケンスを出力することができます。可変サイズ信号の詳細については、可変サイズの信号の基礎 (Simulink)を参照してください。
次のアイコンには、oSiz
、Ref
、および Rst
端子を有効にしたブロックが表示されています。
端子
入力
oSiz — 現在の出力サイズ
スカラー | ベクトル
現在の出力サイズ。[n,1] の形式のスカラーまたはベクトルとして指定します。n は出力シーケンスの要素数です。
例: [10 1]
は、現在の出力列ベクトルのサイズが 10 行 1 列であることを示します。
依存関係
この端子を有効にするには、[Maximum output size source] パラメーターを [Dialog parameter]
に設定します。
データ型: double
Ref — 基準入力信号
スカラー | 列ベクトル
基準入力信号。スカラーまたは列ベクトルとして指定します。
依存関係
この端子を有効にするには、[Maximum output size source] パラメーターを [Inherit from reference input]
に設定します。
データ型: double
Rst — リセット信号
スカラー | ベクトル
リセット信号。出力サイズに応じて、スカラーまたはベクトルとして指定します。
出力サイズが可変の場合、この端子をスカラーとして指定します。
それ以外の場合、この端子をスカラーまたは [Samples per frame] パラメーターの値と等しい長さの列ベクトルとして指定します。
出力信号は非ゼロの [Rst] 入力値にリセットされます。詳細については、リセット動作を参照してください。
依存関係
この端子を有効にするには、[Reset on nonzero input] パラメーターを選択します。
データ型: double
出力
Out — 出力信号
ベクトル
出力信号。バイナリ値の列ベクトルとして返されます。ブロックで非ゼロのシーケンスを生成するためには、[Initial states] パラメーターのベクトルの少なくとも 1 つの要素が非ゼロでなければなりません。
データ型: double
パラメーター
Generator polynomial — 生成多項式
'z^6 + z + 1'
(既定値) | 多項式の文字ベクトル | string スカラー | バイナリ値の行ベクトル | 整数値の行ベクトル
シーケンスを生成するシフト レジスタでの接続を決定する生成多項式を次のオプションのいずれかとして指定します。
数値
1
を含む多項式の文字ベクトルまたは string スカラー (例:'z^4 + z + 1'
)。詳細については、Communications Toolbox での多項式の表現を参照してください。多項式の係数を降べきの順に並べたバイナリ値の行ベクトル。最初と最後のエントリは
1
でなければなりません。このベクトルの長さは、生成多項式の次数よりも 1 大きくなければなりません。多項式の非ゼロの項の指数を降べきの順に格納した整数値の行ベクトル。最後のエントリは
0
でなければなりません。
たとえば、'z^8 + z^2 + 1'
、[1 0 0 0 0 0 1 0 1]
、および [8 2 0]
は同一の多項式 p(z) = z8 + z2 + 1 を表します。
Initial states — 初期状態
[0 0 0 0 0 1]
(既定値) | バイナリ値スカラー | バイナリ値の行ベクトル
シーケンスを生成するシフト レジスタの初期状態。バイナリ値の行ベクトルを指定する場合、その長さは [Generator polynomial] パラメーターで指定される生成多項式の次数と等しくなければなりません。バイナリ値のスカラーを指定した場合は、ブロックで生成多項式の次数と等しい長さの行ベクトルにスカラーが拡張されます。結果として得られるベクトルのエントリはすべてスカラーと等しくなります。
Sequence index(es) — シーケンス インデックス
0
(既定値) | 整数 | [k m] の形式のベクトル
整数または [k m] の形式のベクトルを指定して、シーケンスの候補のセットから目的のカサミ シーケンスを選択します。カサミ シーケンスには 2 つのクラスがあります。スモール セットから取得されたシーケンスと、ラージ セットから取得されたシーケンスです。スモール セットからカサミ シーケンスを選択するには、このパラメーターを範囲 [0, 2n/2–2] の整数に設定します。ラージ セットからシーケンスを選択するには、このパラメーターを [k m] の形式のベクトルに設定します。k は範囲 [–2, 2n–2] の整数、m は範囲 [–1, 2n/2–2] の整数でなければなりません。詳細については、シーケンス インデックスを参照してください。
Shift — 開始点からのシーケンスのオフセット
0
(既定値) | 整数
初期時間からのカサミ シーケンスのオフセットを指定します。
[Reset on nonzero input] パラメーターを選択すると、外部信号を使用して内部シフト レジスタの値を初期状態にリセットできます。これを選択した場合、このブロックに外部信号用の入力端子が作成されます。ブロックで内部シフト レジスタをリセットする方法は、その出力信号とリセット信号がサンプルベースかフレームベースかによって異なります。例については、リセット動作を参照してください。
Output variable-size signals — 可変長信号を出力するオプション
off
(既定値) | on
シミュレーション中に可変長の出力シーケンスを有効にするには、このパラメーターを選択します。このパラメーターをオフにすると、ブロックは固定長のシーケンスを出力します。このパラメーターを選択すると、ブロックは可変長のシーケンスを出力できます。可変サイズ信号の詳細については、可変サイズの信号の基礎 (Simulink)を参照してください。
Maximum output size source — Maximum output size source
Dialog parameter
(既定値) | Inherit from reference port
最大のシーケンス出力サイズの指定方法を選択します。
[Dialog parameter]
— [Maximum output size] パラメーター設定を最大許容出力シーケンス長として使用するブロックを構成するには、この値を選択します。[oSiz] 入力端子は出力信号の現在のサイズを指定し、ブロック出力はサンプル時間を入力信号から継承します。[oSiz] の入力値は [Maximum output size] パラメーターの値以下でなければなりません。[Inherit from reference port]
— [Ref] 入力端子を有効にし、[Ref] 入力端子の可変サイズ信号からサンプル時間、最大サイズ、および現在の出力サイズを継承するブロックを構成するには、この値を選択します。これらにより最大許容出力シーケンス長が設定されます。
依存関係
このパラメーターを有効にするには、[Output variable-size signals] を選択します。
Maximum output size — Maximum output size
[10 1]
(既定値) | [n 1] 形式のベクトル
ブロックの最大出力サイズを指定します。n は正のスカラーです。
例: [10 1]
の場合は、出力信号の最大サイズが 10 行 1 列として指定されます。
依存関係
このパラメーターを有効にするには、[可変サイズの信号の出力] を選択し、[最大出力サイズ ソース] を [ダイアログ パラメーター]
に設定します。
サンプル時間 — 出力サンプル時間
1
(既定値) | -1
| 正のスカラー
正のスカラーは、出力信号の各サンプル間の時間を秒単位で指定します。[サンプル時間] を -1
に設定すると、出力信号は下流からサンプル時間を継承します。[サンプル時間] パラメーターと [フレームあたりのサンプル数] パラメーターの関係の詳細については、サンプル タイミングを参照してください。
依存関係
このパラメーターを有効にするには、[Output variable-size signals] をオフにします。
Samples per frame — フレームあたりのサンプル数
1
(既定値) | 正の整数
出力データの 1 つのチャネルにおけるフレームあたりのサンプル数を指定します。[Sample time] パラメーターと [Samples per frame] パラメーターの関係の詳細については、サンプル タイミングを参照してください。
Reset on nonzero input — 出力信号をリセットするオプション
off
(既定値) | on
[Rst] 入力端子を有効にするには、このパラメーターを選択します。その端子を使用して、内部シフト レジスタを [Initial states] パラメーターの値が示す元の状態にリセットする入力信号を指定します。
Output data type — 出力データ型
double
(既定値) | boolean
ブロックの出力のデータ型を指定します。
ブロックの特性
データ型 |
|
多次元信号 |
|
可変サイズの信号 |
|
詳細
サンプル タイミング
出力更新間の時間は、[Samples per frame] と [Sample time] パラメーター値の積に等しくなります。たとえば、[サンプル時間] と [フレームあたりのサンプル数] のそれぞれが 1
に等しい場合、ブロックは毎秒 1 サンプルを出力します。[Samples per frame] を 10 に増やすと、ブロックは 10 秒ごとに 10 行 1 列のベクトルを出力します。このタイミングにより、同等の出力レートが [フレームあたりのサンプル数] パラメーターに依存しないことが確実になります。
カサミ シーケンス
カサミ シーケンスには 2 種類のセット、"スモール セット" および "ラージ セット" があります。ラージ セットには、スモール セットに含まれるすべてのシーケンスが含まれます。相関関数に対する Welch の下限のマッチングにおいては、スモール セットのみが最適となります。
カサミ シーケンスの周期は N = 2n – 1 です。ここで n は非負の偶数の整数です。u を長さ N のバイナリ シーケンスとし、w を、u を 2n/2 + 1 で間引きして得られるシーケンスとします。カサミ シーケンスのスモール セットは次の区分的関数で定義されます。T は左シフト演算子、m は w のシフト パラメーター、 は 2 を法とする加算を意味します。
スモール セットには 2n/2 のシーケンスが含まれます。
カサミ シーケンスのラージ セットは、mod(n, 4) = 2 という条件下で、次の区分的関数で定義されます。v を、シーケンス u を 2(n/2 + 1) + 1 で間引きして得られるシーケンスとします。k と m はそれぞれシーケンス v と w のシフト パラメーターです。
KL の最初の 3 行に記載されたシーケンスは、mod(n, 4) = 2 に対する Gold シーケンスに相当します。Gold シーケンスの詳細については、comm.GoldSequence
System object™ のリファレンス ページを参照してください。ただし、カサミ シーケンスは単独では Gold シーケンスよりも大きなセットとなります。
シーケンスの相関関数は次の値を取ります。
{–t(n), –s(n), –1, s(n) – 2, t(n) – 2},
ここで
カサミ シーケンスを生成する多項式
カサミ シーケンスの周期は N = 2n – 1 です。ここで n は非負の偶数の整数です。次の表は、カサミ シーケンスのセットの生成に使用できる多項式の一部をリストしています。
n | N | 多項式 | 次のように設定します。 |
---|---|---|---|
4 | 15 | 'z^4 + z +1' | スモール |
6 | 63 | 'z^6 + z +1' | ラージ |
8 | 255 | 'z^8 + z^4 + z^3 + z^2 +1' | スモール |
10 | 1023 | 'z^10 + z^3 +1' | ラージ |
12 | 4095 | 'z^12 + z^6 + z^4 + z +1' | スモール |
シーケンス インデックス
[Sequence index(es)] パラメーターは、出力シーケンス生成に用いるシーケンス v と w のシフトを指定します。このパラメーターは次の 2 つの方法のいずれかで指定できます。
スモール セットからシーケンスを生成するには、n を偶数として、[Sequence index(es)] に範囲 [–1, 2n/2 – 2] の整数 m を指定します。[Sequence index(es)] の値に対応した出力シーケンスを次の表で説明します。
[Sequence index(es)] の値 インデックスの範囲 出力シーケンス -1
m = –1 u m m = 0, 2n/2 – 2 ラージ セットからシーケンスを生成するには、mod (n, 4) = 2 の成立する n を生成多項式の次数として ([Generator polynomial] パラメーターで設定)、[Sequence index(es)] に [k m] の形式のベクトルを指定します。この場合、出力シーケンスはラージ セットから生成されます。k は範囲 [–2, 2n – 2] の整数、m は範囲 [–1, 2n/2 – 2] の整数です。[Sequence index(es)] の値に対応した出力シーケンスを次の表で説明します。
[Sequence index(es)] の値 インデックスの範囲 出力シーケンス [-2 -1]
k = –2
m = –1
u [-1 -1]
k = –1
m = –1
v [k –1]
k = 0, 1, ..., 2n – 2
m = –1
[-2 m]
k = – 2
m = 0, 1, ..., 2n/2 – 2
[-1 m]
k = –1
m = 0, ..., 2n/2 –2
[k m]
k = 0, ..., 2n –2
m = 0, ..., 2n/2 –2
リセット動作
発生器シーケンスをリセットするにはまず、[Reset on nonzero input] パラメーターを選択して [Rst] 入力端子を有効にする必要があります。リセットがない場合に Kasami Sequence Generator ブロックが [1 0 0 1 1 0 1 1]
を出力すると想定します。次の表は、指定されたパラメーター値に対する Kasami Sequence Generator ブロック出力に与える影響を示しています。
リセット信号 | リセット信号の設定 | Kasami Sequence Generator ブロック | リセット信号と出力信号 |
---|---|---|---|
リセットがない |
|
| |
スカラーのリセット信号 |
|
| |
ベクトルのリセット信号 |
|
|
リセットがない場合、ブロックはシーケンスをリセットせずに出力します。スカラーとベクトルのリセット信号の場合、ブロックはリセット信号 [0 0 0 1 0 0 0 0]
を [Rst] 端子への入力とします。リセット信号の 4 番目のビットが 1
で、[Sample time] が 1
であるため、ブロックはシーケンス出力を 4 番目のビットでリセットします。
可変サイズの出力の場合、ブロックはスカラーのリセット信号入力のみをサポートします。
参照
[1] Peterson, W. Wesley, and E. J. Weldon. Error-correcting Codes.1972.
[2] Proakis, John G. Digital Communications. 4th ed. New York: McGraw Hill, 2001.
[3] Sarwate, D.V., and M.B. Pursley. “Crosscorrelation Properties of Pseudorandom and Related Sequences.” Proceedings of the IEEE 68, no. 5 (1980): 593–619. https://doi.org/10.1109/PROC.1980.11697.
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2006a より前に導入R2020a: 自動的にこのブロックを現在のバージョンに更新する既存モデル
R2020a 以降、Simulink® では R2015b より前で利用可能だったバージョンの Kasami Sequence Generator ブロックは使用できなくなりました。
既存のモデルはソース ブロックは連続する時間サンプルのフレームをフレーム属性を使用せずに出力するで通知されたバージョンの Kasami Sequence Generator ブロックを読み込むように自動的に更新されます。ブロック転送の詳細については、転送テーブルを使用したライブラリ ブロックの互換性の維持 (Simulink)を参照してください。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)