Kasami Sequence Generator
カサミ シーケンスのセットからのカサミ シーケンスの生成
ライブラリ:
Communications Toolbox /
Comm Sources /
Sequence Generators
説明
Kasami Sequence Generator ブロックは、カサミ シーケンスのセットから 1 つのシーケンスを生成します。カサミ シーケンスは、良好な相互相関特性をもつ一連のシーケンスです。詳細については、カサミ シーケンスを参照してください。
このブロックは、シミュレーション中に長さが変わるシーケンスを出力することができます。可変サイズ信号の詳細については、可変サイズの信号の基礎 (Simulink)を参照してください。
次のアイコンには、oSiz、Ref、および Rst 端子を有効にしたブロックが表示されています。
![]()
![]()
端子
入力
現在の出力サイズ。[n,1] の形式のスカラーまたはベクトルとして指定します。n は出力シーケンスの要素数です。
例: [10 1] は、現在の出力列ベクトルのサイズが 10 行 1 列であることを示します。
依存関係
この端子を有効にするには、[Maximum output size source] パラメーターを [Dialog parameter] に設定します。
データ型: double
基準入力信号。スカラーまたは列ベクトルとして指定します。
依存関係
この端子を有効にするには、[Maximum output size source] パラメーターを [Inherit from reference input] に設定します。
データ型: double
リセット信号。出力サイズに応じて、スカラーまたはベクトルとして指定します。
出力サイズが可変の場合、この端子をスカラーとして指定します。
それ以外の場合、この端子をスカラーまたは [フレームあたりのサンプル数] パラメーターの値と等しい長さの列ベクトルとして指定します。
出力信号は非ゼロの [Rst] 入力値にリセットされます。詳細については、リセット動作を参照してください。
依存関係
この端子を有効にするには、[Reset on nonzero input] パラメーターを選択します。
データ型: double
出力
出力信号。バイナリ値の列ベクトルとして返されます。ブロックで非ゼロのシーケンスを生成するためには、[Initial states] パラメーターのベクトルの少なくとも 1 つの要素が非ゼロでなければなりません。
データ型: double
パラメーター
ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。
シーケンスを生成するシフト レジスタでの接続を決定する生成多項式を次のオプションのいずれかとして指定します。
数値
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 を表します。
シーケンスを生成するシフト レジスタの初期状態。バイナリ値の行ベクトルを指定する場合、その長さは [Generator polynomial] パラメーターで指定される生成多項式の次数と等しくなければなりません。バイナリ値のスカラーを指定した場合は、ブロックで生成多項式の次数と等しい長さの行ベクトルにスカラーが拡張されます。結果として得られるベクトルのエントリはすべてスカラーと等しくなります。
整数または [k m] の形式のベクトルを指定して、シーケンスの候補のセットから目的のカサミ シーケンスを選択します。カサミ シーケンスには 2 つのクラスがあります。スモール セットから取得されたシーケンスと、ラージ セットから取得されたシーケンスです。スモール セットからカサミ シーケンスを選択するには、このパラメーターを範囲 [0, 2n/2–2] の整数に設定します。ラージ セットからシーケンスを選択するには、このパラメーターを [k m] の形式のベクトルに設定します。k は範囲 [–2, 2n–2] の整数、m は範囲 [–1, 2n/2–2] の整数でなければなりません。詳細については、シーケンス インデックスを参照してください。
初期時間からのカサミ シーケンスのオフセットを指定します。
[Reset on nonzero input] パラメーターを選択すると、外部信号を使用して内部シフト レジスタの値を初期状態にリセットできます。これを選択した場合、このブロックに外部信号用の入力端子が作成されます。ブロックで内部シフト レジスタをリセットする方法は、その出力信号とリセット信号がサンプルベースかフレームベースかによって異なります。例については、リセット動作を参照してください。
シミュレーション中に可変長の出力シーケンスを有効にするには、このパラメーターを選択します。このパラメーターをオフにすると、ブロックは固定長のシーケンスを出力します。このパラメーターを選択すると、ブロックは可変長のシーケンスを出力できます。可変サイズ信号の詳細については、可変サイズの信号の基礎 (Simulink)を参照してください。
最大のシーケンス出力サイズの指定方法を選択します。
[Dialog parameter]— [Maximum output size] パラメーター設定を最大許容出力シーケンス長として使用するブロックを構成するには、この値を選択します。[oSiz] 入力端子は出力信号の現在のサイズを指定し、ブロック出力はサンプル時間を入力信号から継承します。[oSiz] の入力値は [Maximum output size] パラメーターの値以下でなければなりません。[Inherit from reference port]— [Ref] 入力端子を有効にし、[Ref] 入力端子の可変サイズ信号からサンプル時間、最大サイズ、および現在の出力サイズを継承するブロックを構成するには、この値を選択します。これらにより最大許容出力シーケンス長が設定されます。
依存関係
このパラメーターを有効にするには、[Output variable-size signals] を選択します。
ブロックの最大出力サイズを指定します。n は正のスカラーです。
例: [10 1] の場合は、出力信号の最大サイズが 10 行 1 列として指定されます。
依存関係
このパラメーターを有効にするには、[可変サイズの信号の出力] を選択し、[最大出力サイズ ソース] を [ダイアログ パラメーター] に設定します。
正のスカラーは、出力信号の各サンプル間の時間を秒単位で指定します。[サンプル時間] を -1 に設定すると、出力信号は下流からサンプル時間を継承します。[サンプル時間] パラメーターと [フレームあたりのサンプル数] パラメーターの関係の詳細については、サンプル タイミングを参照してください。
依存関係
このパラメーターを有効にするには、[Output variable-size signals] をオフにします。
出力データの 1 つのチャネルにおけるフレームあたりのサンプル数を指定します。[サンプル時間] パラメーターと [フレームあたりのサンプル数] パラメーターの関係の詳細については、サンプル タイミングを参照してください。
[Rst] 入力端子を有効にするには、このパラメーターを選択します。その端子を使用して、内部シフト レジスタを [Initial states] パラメーターの値が示す元の状態にリセットする入力信号を指定します。
ブロックの出力のデータ型を指定します。
ブロックの特性
データ型 |
|
多次元信号 |
|
可変サイズの信号 |
|
詳細
出力更新間の時間は、[フレームあたりのサンプル数] と [サンプル時間] パラメーター値の積に等しくなります。たとえば、[サンプル時間] と [フレームあたりのサンプル数] のそれぞれが 1 に等しい場合、ブロックは毎秒 1 サンプルを出力します。[フレームあたりのサンプル数] を 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)] の値 インデックスの範囲 出力シーケンス -1m = –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 で、[サンプル時間] が 1 であるため、ブロックはシーケンス出力を 4 番目のビットでリセットします。
可変サイズの出力の場合、ブロックはスカラーのリセット信号入力のみをサポートします。
参照
[1] Peterson, W. Wesley, and E. J. Weldon. Error-Correcting Codes. 2d ed. MIT Press, 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 以降、Simulink では R2015b より前で利用可能だったバージョンの Kasami Sequence Generator ブロックは使用できなくなりました。
既存のモデルはソース ブロックは連続する時間サンプルのフレームをフレーム属性を使用せずに出力するで通知されたバージョンの Kasami Sequence Generator ブロックを読み込むように自動的に更新されます。ブロック転送の詳細については、転送テーブルを使用したライブラリ ブロックの互換性の維持 (Simulink)を参照してください。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)


