Downsample
サンプルを削除することで低いレートで入力をリサンプリングする

ライブラリ:
DSP System Toolbox /
Signal Operations
DSP System Toolbox HDL Support /
Signal Operations
説明
Downsample ブロックは、サンプルを削除することにより入力のサンプル レートを減少させます。このブロックは、フレームベースの処理を実行する場合、Pi 行 Q 列の入力行列の各列にあるデータを個別にリサンプリングします。サンプルベースの処理を実行する場合は、入力の各要素を別々のチャネルとして扱い、入力配列の各チャネルを時間全体にわたってリサンプリングします。リサンプリング レートは入力サンプル レートの M 分の 1 になります。ここで、M はダウンサンプリング係数の値です。Downsample ブロックは、出力される各サンプルに続く M–1 個の連続するサンプルを破棄することで入力をリサンプリングします。
このブロックは、[レート オプション] パラメーターを [シングルレート処理を適用]
に設定すると、Triggered Subsystem をサポートします。
例
この例では、Downsample ブロックはフレーム サイズを小さくしてサンプル レートを減少させます。
ex_downsample_singlerate.slx
モデルを開きます。Downsample ブロックは、フレーム サイズが 64 の単一チャネル入力をリサンプリングします。Downsample ブロックのダイアログ ボックスで、[ダウンサンプリング係数のソース] パラメーターが Input port
に設定されます。これにより、[入力処理] パラメーターと [レート オプション] パラメーターがそれぞれ Columns as Channels (frame based)
と Enforce single-rate processing
になるように自動的に設定されます。入力端子からのダウンサンプリング係数を 4 に指定します。
モデルを実行します。このブロックはシングルレート処理モードで動作し、入力を 4 分の 1 にダウンサンプリングします。ブロックの出力のフレーム サイズは 64 です。ブロックはシングルレート処理モードで動作するため、Downsample ブロックの入力信号と出力信号は同じフレーム レートになります。これは [タイミング凡例] から確認できます。凡例を開くには、モデル ツールストリップの [デバッグ] タブをクリックし、[情報のオーバーレイ]、[タイミング凡例] の順にクリックします。
この例では、Downsample ブロックはフレーム レートを下げてサンプル レートを減少させます。
ex_downsample_multirate.slx
モデルを開きます。Downsample ブロックへの入力は、フレーム周期が 1 秒のシングルチャネル信号です。ブロック ダイアログ ボックスで、[ダウンサンプリング係数、M] を 4 に設定し、[レート オプション] を [Allow multirate processing]
に設定します。
モデルを実行します。ブロックはマルチレート フレームベース処理モードで動作します。ダウンサンプリング係数が 4 の場合、ブロックの出力のフレーム周期は 4 秒になります。これは [タイミング凡例] から確認できます。凡例を開くには、モデル ツールストリップの [デバッグ] タブをクリックし、[情報のオーバーレイ]、[タイミング凡例] の順にクリックします。ブロックはマルチレート処理モードで動作するため、Downsample ブロックの入力信号と出力信号は同じフレーム サイズになります。
Downsampleブロックを使用して、信号を係数 2 でダウンサンプリングします。
システムを開いてモデルを実行
Signal From Workspaceブロックは、フレーム サイズ 4 の 2 チャネル信号を生成します。タイミング凡例は、ダウンサンプリング演算の前後の信号のサンプル時間を示します。凡例を表示するには、[デバッグ] タブ、[情報のオーバーレイ]、[タイミング凡例] の順にクリックします。
モデルを実行します。ダウンサンプリング演算前の信号のサンプル時間は、演算後の信号のサンプル時間の半分です。
1 フレーム レイテンシ
Downsample ブロックの [入力処理] パラメーターは、Columns as channels (frame based)
に設定されており、入力フレーム サイズ (入力の行数) Mi は 1 より大きくなります。したがって、信号のレイテンシは 1 フレームです。[初期条件] パラメーターは [11 -11;12 -12;13 -13;14 -14]
に設定されます。1 フレーム レイテンシのすべてのケースで、初期条件行列の Mi 行が最初の 4 つの出力行として順番に表示されます。入力サンプル D+1 (つまり、入力行列の行 D+1) は、サンプル Mi+1 として出力に表示され、その後に入力サンプル D+1+K、入力サンプル D+1+2K のように続きます。
Mi - 入力行の数。この例では、Mi は 4 と等しくなります。
D - サンプル オフセット パラメーター。この例では、D は 1 と等しくなります。
K - ダウンサンプリング係数。この例では、K は 2 と等しくなります。
[初期条件] の値は、各チャネルに対して 1 つずつの値が含まれている Mi 行 N 列の行列、または Mi 行 N 列の行列の全要素に対して繰り返されるスカラーにすることができます。
以下は、ベース ワークスペースの変数 dsp_examples_yout
に書き込まれたダウンサンプリング済みの出力信号です。
dsp_examples_yout = 11 -11 12 -12 13 -13 14 -14 2 -2 4 -4 6 -6 8 -8 10 -10 12 -12 14 -14 16 -16 18 -18 20 -20 22 -22 24 -24 26 -26 28 -28 30 -30 32 -32 34 -34 36 -36 38 -38 40 -40 42 -42 44 -44 46 -46 48 -48 50 -50 52 -52 54 -54 56 -56 58 -58 60 -60 62 -62 64 -64 66 -66 68 -68 70 -70 72 -72 74 -74 76 -76 78 -78 80 -80 82 -82 84 -84 86 -86 88 -88 90 -90 92 -92 94 -94 96 -96 98 -98 100 -100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
拡張例
音響ノイズ キャンセリング (LMS)
この例では、最小平均二乗 (LMS) アルゴリズムを使用して入力信号からノイズを除去する方法を示します。この例では事前学習済みの Simulink® モデルを使用しています。dspanc
モデルの LMS Filter ブロックは、"Input" 端子の基準信号と "Desired" 端子の目的の信号を使用してフィルター応答を自動的に一致させる適応フィルターをモデル化します。LMS Filter ブロックは、フィルター処理されたノイズを元の信号から除去します。フィルターが収束すると、結果の誤差信号には元の信号のみが含まれます。
端子
入力
サンプル レートを減少させる入力データ。列ベクトルまたは行列として指定します。
[入力処理] パラメーターを [チャネルとしての要素 (サンプル ベース)]
に設定すると、入力を N 次元配列にすることができます。
[入力処理] を [チャネルとしての列 (フレーム ベース)]
に、[レート オプション] を [シングルレート処理を適用]
に設定している場合、このブロックは可変サイズの入力信号をサポートするため、フレーム長 (行数) とチャネル数 (列) がシミュレーション中に変化する可能性があります。ブロックが可変サイズの入力信号を受け入れる場合、入力信号は任意のフレーム長にすることができます。つまり、入力フレーム長がダウンサンプリング係数の倍数である必要はありません。固定サイズの信号を指定する場合、特定の条件下でフレーム長を任意の長さにすることができます。詳細については、フレームベースの処理およびサンプルベースの処理を参照してください。
[ダウンサンプリング係数のソース] を [入力端子]
に設定するまで、この端子には名前が付けられません。 (R2023a 以降)
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
複素数のサポート: あり
R2023a 以降
ダウンサンプリング係数 M を正の整数で指定します。
依存関係
この端子を有効にするには、[ダウンサンプリング係数のソース] パラメーターを [入力端子]
に設定します。
データ型: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
出力
サンプル レートが入力サンプル レートの 1/M 倍である、ダウンサンプリングされた出力。列ベクトルまたは行列として返されます。
[レート オプション] を次のように設定にした場合:
シングルレート処理を適用
–– ブロックは入力サンプル レートを維持し、出力のフレーム サイズを M 分の 1 に減少させることにより、信号をダウンサンプリングします。出力は、P 行 Q 列のサイズの入力に対し、
ceil
(P/M) 行 Q 列の上限サイズをもちます。マルチレート処理を許可
–– ブロックは、出力サンプル レートが入力サンプル レートの M 分の 1 になるように信号をダウンサンプリングします。出力のフレーム サイズは入力のフレーム サイズと同じになります。
詳細については、フレームベースの処理およびサンプルベースの処理を参照してください。
次の条件のいずれかが満たされると、出力は可変サイズの信号になります。
入力が可変サイズの信号である。
入力が固定サイズの信号であり、[固定サイズの入力信号に対する任意のフレーム長を許可] パラメーターが選択されている。
ダウンサンプリング係数が端子 [M] を通して入力される。 (R2023a 以降)
出力が可変サイズ信号の場合、ブロックは連続するデータ フレーム全体で位相を維持します。詳細については、位相連続性を参照してください。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
複素数のサポート: あり
パラメーター
R2023a 以降
次のオプションのいずれかを使用してダウンサンプリング係数を指定します。
ダイアログ パラメーター
–– ブロックは、ブロック ダイアログ ボックスの [ダウンサンプリング係数、M] パラメーターを有効にします。入力端子
–– ブロックは、ダウンサンプリング係数を指定する入力端子 [M] を有効にします。
入力サンプル レートを減少させる整数の係数 M を指定します。
依存関係
このパラメーターを有効にするには、[ダウンサンプリング係数のソース] を [ダイアログ パラメーター]
に設定します。 (R2023a 以降)
[サンプル オフセット (0 ~ M-1)] パラメーターは、出力サンプルをサンプル周期の数 D (0 ≤ D ≤ (M–1) の整数) だけ遅延させ、M 個の出力位相のいずれかを選択できるようにします。たとえば、1、2、3、... というシーケンスを係数 4 でダウンサンプリングする場合、4 つの位相のいずれかを選択できます。
入力シーケンス | サンプル オフセット D | 出力シーケンス (M = 4) |
---|---|---|
| 0 |
|
| 1 |
|
| 2 |
|
| 3 |
|
表の最後の 3 つの出力シーケンスで最初が 0 になっているのは、[初期条件] パラメーターが既定値の 0 に設定されるためです。[初期条件] パラメーターの詳細については、レイテンシを参照してください。
入力端子 [M] を通してダウンサンプリング係数を入力する場合、ブロック ダイアログ ボックスの [サンプル オフセット (0 ~ M-1)] パラメーターは有効になりません。この場合、サンプル オフセット D は自動的に 0 に設定されます。 (R2023a 以降)
依存関係
このパラメーターを有効にするには、[ダウンサンプリング係数のソース] を [ダイアログ パラメーター]
に設定します。 (R2023a 以降)
入力処理の方式を指定します。
チャネルとしての列 (フレーム ベース)
–– [入力処理] パラメーターを[チャネルとしての列 (フレーム ベース)]
に設定した場合、Q 個の入力列のそれぞれが、Pi 個の逐次時間サンプルが含まれる個別のチャネルとして扱われます。このブロックは、出力する各行に続く入力行列の M–1 行を破棄することにより、各チャネルを個別にダウンサンプリングします。詳細については、フレームベースの処理とはを参照してください。
チャネルとしての要素 (サンプル ベース)
–– [入力処理] パラメーターを[チャネルとしての要素 (サンプル ベース)]
に設定すると、入力を Q 次元配列にすることができます。Downsample ブロックは、入力の各要素を別々のチャネルとして扱い、入力配列の各チャネルを時間の経過に沿ってリサンプリングします。このブロックは、通過して出力に渡される各サンプルに続く M–1 個のサンプルを破棄することで入力配列をダウンサンプリングします。Downsample ブロックの入力と出力のサイズは同じです。詳細については、サンプルベースの処理とはを参照してください。
依存関係
このパラメーターを有効にするには、[ダウンサンプリング係数のソース] を [ダイアログ パラメーター]
に設定します。 (R2023a 以降)
[ダウンサンプリング係数のソース] を [入力端子]
に設定すると、[入力処理] パラメーターが自動的に [チャネルとしての列 (フレーム ベース)]
に設定されます。 (R2023a 以降)
サンプル数の減少に対応するために、ブロックが出力端子でレートを調整する方法を指定します。ブロックは、[入力処理] パラメーターを [チャネルとしての要素 (サンプル ベース)]
(サンプルベースの処理モード) に設定するか、[チャネルとしての列 (フレーム ベース)]
(フレームベースの処理モード) に設定するかに応じて、シングルレート処理またはマルチレート処理を実行します。
チャネルとしての要素 (サンプル ベース)
シングルレート処理を適用
このブロックは、Mth 番目の入力サンプルごとに出力で M 回繰り返すことにより、出力サンプル レートを入力サンプル レートに一致 (Tso = Tsi) させます。このモードでは、ブロックは周期 MTsi でトリガー イベントを繰り返す Sample and Hold ブロックのように動作します。
マルチレート処理を許可
出力のサンプル周期は入力のサンプル周期の M 倍になります (Tso = MTsi)。
詳細については、サンプルベースの処理を参照してください。
チャネルとしての列 (フレーム ベース)
シングルレート処理を適用
ブロックは入力よりも比較的小さいフレーム "サイズ" を使用して、遅い (ダウンサンプリングされた) レートで出力を生成します。出力の上限サイズは
ceil
(P/M) となります。ここで、P は入力フレーム長、M はダウンサンプリング係数です。入力と出力のフレーム レートは等しくなります。詳細については、フレームベースの処理を参照してください。例については、シングルレート フレームベース処理モードでの信号のダウンサンプリングを参照してください。マルチレート処理を許可
ブロックは入力端子よりも比較的長いフレーム "周期" を出力端子で使用して、遅い (ダウンサンプリングされた) レートで出力を生成します。ダウンサンプリングの係数が M の場合、出力フレーム周期は入力フレーム周期の M 倍 (Tfo = MTfi) ですが、入力と出力のフレーム サイズは等しくなります。詳細については、フレームベースの処理を参照してください。例については、マルチレート フレームベース処理モードでの信号のダウンサンプリングを参照してください。
依存関係
このパラメーターを有効にするには、[ダウンサンプリング係数のソース] を [ダイアログ パラメーター]
に設定します。 (R2023a 以降)
[ダウンサンプリング係数のソース] を [入力端子]
に設定すると、[レート オプション] パラメーターが自動的に [シングルレート処理を適用]
に設定されます。 (R2023a 以降)
固定サイズの入力信号 (シミュレーション中にサイズが変化しない) に対し、任意のフレーム長を許可するかを指定します。任意のフレーム長とは、フレーム長がダウンサンプリング係数の倍数である必要がないことを意味します。ブロックは、このパラメーター設定を固定サイズの入力信号に対してのみ使用し、可変サイズの入力の場合はこのパラメーターを無視します。
入力信号が可変サイズの信号の場合、そのフレーム長は任意の長さで構いません。つまり、フレーム長が間引き係数の倍数である必要はありません。
固定サイズの入力信号の場合:
[固定サイズの入力信号に対する任意のフレーム長を許可] パラメーターを選択すると、信号のフレーム長がダウンサンプリング係数の倍数である必要がなくなります。入力がダウンサンプリング係数の倍数ではない場合、出力は一般的に可変サイズの信号となります。そのため、任意の入力サイズをサポートするには、ブロックは可変サイズの処理もサポートする必要があります。これは、[固定サイズの入力信号に対する任意のフレーム長を許可] パラメーターを選択することで有効にできます。
[固定サイズの入力信号に対する任意のフレーム長を許可] パラメーターの選択を解除すると、入力フレーム長がダウンサンプリング係数の倍数でなければならなくなります。
依存関係
このパラメーターを有効にするには、次のように設定します。
[ダウンサンプリング係数のソース] を
[ダイアログ パラメーター]
にする。 (R2023a 以降)[入力処理] を
[チャネルとしての列 (フレーム ベース)]
にする。[レート オプション] を
[シングルレート処理を適用]
にする。
非ゼロ レイテンシの場合のブロックの初期値。スカラーを指定するか、入力と同じサイズの配列を指定できます。
依存関係
[入力処理] が [チャネルとしての列 (フレーム ベース)]
に、[レート オプション] が [シングルレート処理を適用]
に設定されていると、このパラメーターは表示されません。
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
詳細
[入力処理] パラメーターを [チャネルとしての列 (フレーム ベース)]
に設定し、P 行 Q 列のサイズの入力信号を使用した場合、Q 個の入力列のそれぞれが、P 個の逐次時間サンプルが含まれる個別のチャネルとして扱われます。このブロックは、出力する各行に続く入力行列の M–1 行を破棄することにより、各チャネルを個別にダウンサンプリングします。
このモードでは、ブロックはシングルレート処理またはマルチレート処理のいずれかを実行できます。[レート オプション] パラメーターを使用することにより、ブロックを出力のレートで調整してサンプル数の減少に対応する方法を指定できます。
[レート オプション] パラメーターを
[シングルレート処理を適用]
に設定すると、ブロックは入力よりも比較的小さいフレーム "サイズ" を使用して、遅い (ダウンサンプリングされた) レートで出力を生成します。出力の上限サイズは
ceil
(P/M) となります。ここで、P は入力フレーム長、M はダウンサンプリング係数です。このモードでは、固定サイズの信号 (シミュレーション中に信号の次元が変化しない) を入力して [固定サイズの入力信号に対する任意のフレーム長を許可] パラメーターを選択すると、入力フレーム長は任意の長さとなり、ダウンサンプリング係数の倍数である必要がなくなります。[固定サイズの入力信号に対する任意のフレーム長を許可] パラメーターの選択を解除すると、入力フレーム長はダウンサンプリング係数の倍数でなければならなくなります。
このモードでは、可変サイズの信号 (シミュレーション中に信号の次元が変化する) を入力すると、ブロック ダイアログ ボックスに [固定サイズの入力信号に対する任意のフレーム長を許可] が表示されますが、入力フレーム サイズ要件には影響しません。[固定サイズの入力信号に対する任意のフレーム長を許可] パラメーターを選択しなくても、可変サイズの信号を任意のフレーム サイズで入力できます。
次の表は、[入力処理] を
[チャネルとしての列 (フレーム ベース)]
に、[レート オプション] を[シングルレート処理を適用]
に設定した場合の任意の入力フレーム長のサポートについてまとめています。入力信号 この信号に対するブロックのサポート 任意の入力フレーム長のサポート 入力サイズ 出力サイズ 固定サイズの入力信号 あり [固定サイズの入力信号に対する任意のフレーム長を許可] を選択した場合 P 行 Q 列 ceil
(P/M) 行 Q 列の上限サイズ可変サイズの入力信号 あり 常時 P 行 Q 列 ceil
(P/M) 行 Q 列の上限サイズ[レート オプション] パラメーターを
[マルチレート処理を許可]
に設定すると、Downsample ブロックの入力と出力のサイズは同じになりますが、出力のサンプル レートが入力のサンプル レートの M 分の 1 になります。このモードでは、ブロックが P 行 Q 列の行列入力を Q 個の独立チャネルとして扱います。このモードでは、ブロックが固定サイズの信号のみを受け付けます。固定サイズの信号のフレーム長は任意の長さで構いません。
次の表は、[入力処理] を
[チャネルとしての列 (フレーム ベース)]
に、[レート オプション] を[マルチレート処理を許可]
に設定した場合の任意の入力フレーム長のサポートについてまとめています。入力信号 この信号に対するブロックのサポート 任意の入力フレーム長のサポート 入力サイズ 出力サイズ 固定サイズの入力信号 あり 常時 P 行 Q 列 P 行 Q 列 可変サイズの入力信号 なし 該当なし 該当なし 該当なし
[入力処理] パラメーターを [チャネルとしての列 (フレーム ベース)]
に設定し、[レート オプション] パラメーターを [シングルレート処理を適用]
に設定している場合、特定の条件下で、Downsample ブロックは連続するデータ フレーム全体で位相を維持します。
入力条件 | ダウンサンプリング係数のソース | 任意の入力フレーム長のサポート | 出力信号 | 位相連続性 |
---|---|---|---|---|
固定サイズの入力信号 | ブロック ダイアログ ボックスで指定 | [固定サイズの入力信号に対する任意のフレーム長を許可] を選択した場合 | 可変サイズの信号 | あり |
可変サイズの入力信号 | ブロック ダイアログ ボックスで指定 | 常時 | 可変サイズの信号 | あり |
固定サイズまたは可変サイズの入力信号 | 入力端子で指定 ダウンサンプリング係数はシミュレーション中に変化しない | –– | 可変サイズの信号 | あり |
特定の条件下では、位相が 0 にリセットされ、連続するデータ フレーム全体で維持されなくなります。
入力条件 | ダウンサンプリング係数のソース | 任意の入力フレーム長のサポート | 出力信号 | 位相連続性 |
---|---|---|---|---|
固定サイズの入力信号 | ブロック ダイアログ ボックスで指定 | [固定サイズの入力信号に対する任意のフレーム長を許可] をオフにした場合 | 固定サイズ信号 | 位相は常に 0 |
固定サイズまたは可変サイズの入力信号 | 入力端子で指定 シミュレーション中にダウンサンプリング係数が変化するイベント時 | –– | 可変サイズの信号 | 位相が 0 にリセットされる |
[入力処理] パラメーターを [チャネルとしての要素 (サンプル ベース)]
に設定すると、ブロックは P 行 Q 列の行列入力を P*Q 個の独立したチャネルとして扱い、時間をかけて各チャネルをリサンプリングします。出力サンプル周期 (Tso) は、入力サンプル周期 (Tso = M*Tsi) の M 倍で、入力と出力のサイズは同一になります。
このモードでは、ブロックが固定サイズの信号のみを受け付けます。固定サイズの信号のフレーム長は任意の長さで構いません。
次の表は、[入力処理] を [チャネルとしての要素 (サンプル ベース)]
に設定した場合の任意の入力フレーム長のサポートについてまとめています。
入力信号 | この信号に対するブロックのサポート | 任意の入力フレーム長のサポート | 入力サイズ | 出力サイズ |
---|---|---|---|---|
固定サイズの入力信号 | あり | 常時 | P 行 Q 列 | P 行 Q 列 |
可変サイズの入力信号 | なし | 該当なし | 該当なし | 該当なし |
レイテンシは、ブロックの入力と出力の間でサンプル数単位またはフレーム数単位で測定された遅延です。
Downsample ブロックは、次のような場合に "ゼロタスク レイテンシ" になります。
ダウンサンプリング係数 M が
1
である。[入力処理] パラメーターが
[チャネルとしての列 (フレーム ベース)]
に、[レート オプション] パラメーターが[シングルレート処理を適用]
に設定されている。[入力処理] パラメーターが
[チャネルとしての列 (フレーム ベース)]
に、[レート オプション] パラメーターが[マルチレート処理を許可]
に、[サンプル オフセット (0 ~ M-1)] パラメーター D が0
に設定されており、入力フレーム サイズが 1 である。[入力処理] パラメーターが
[チャネルとしての要素 (サンプル ベース)]
に設定されており、[サンプル オフセット (0 ~ M-1)] パラメーター D が0
である。
ゼロタスク レイテンシとは、ブロックが入力サンプル D+1 (t=0 で受信) を最初の出力サンプルとして伝播し、入力サンプル D+1+M、入力サンプル D+1+2M のように続くことを意味します。ゼロタスク レイテンシがある場合、ブロックは [初期条件] パラメーターの値を無視します。
それ以外の場合、いずれもレイテンシは非ゼロになります。
[入力処理] パラメーターが
[チャネルとしての要素 (サンプル ベース)]
が設定されている場合、レイテンシは 1 サンプルです。[入力処理] パラメーターが
[チャネルとしての列 (フレーム ベース)]
に設定されていて、入力フレーム サイズが 1 より大きい場合、レイテンシは 1 フレームです。
"1 サンプルのレイテンシ" の場合は、いずれも各チャネルの初期条件が最初の出力サンプルとして表示されます。入力サンプル D+1 が各チャネルの 2 番目の出力サンプルとなり、入力サンプル D+1+M、入力サンプル D+1+2M のように続きます。[初期条件] パラメーターは、入力と同じサイズの配列か、すべての信号チャネルに適用するスカラーにすることができます。
"1 フレームのレイテンシ" の場合は、いずれも初期条件の行列の Pi 行が順番通りに出力の最初の Pi 行になります。入力サンプル D+1 (入力行列の行 D+1) は出力でサンプル Pi+1 として現れ、入力サンプル D+1+M、入力サンプル D+1+2M のように続きます。[初期条件] の値は、各チャネルに対して 1 つずつの値が含まれている Pi 行 Q 列の行列、または Pi 行 Q 列の行列の全要素に対して繰り返されるスカラーにすることができます。
メモ
レイテンシと Simulink® タスク モードの詳細については、Excess Algorithmic Delay (Tasking Latency)と時間ベースのスケジューリングとコード生成 (Simulink Coder)を参照してください。
拡張機能
生成されたコードは特定の条件下で関数 memcpy
または関数 memset
(string.h
) に依存します。
HDL Coder™ は、HDL の実装および合成ロジックに影響を与える、追加の構成オプションを提供します。
単位遅延がある Downsample ブロックを続けることをお勧めします。このようにすると、余計なバイパス レジスタが HDL コードに挿入されなくなります。
マルチレート モデルの HDL コード生成に関する要件 (HDL Coder)も参照してください。
このブロックは 1 つの既定の HDL アーキテクチャをもっています。
ConstrainedOutputPipeline | 設計内で既存の遅延を移動することによって出力に配置するレジスタの数。分散型パイプラインは、これらのレジスタを再分散しません。既定の設定は |
InputPipeline | 生成コードに挿入する入力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
OutputPipeline | 生成コードに挿入する出力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
このブロックは、複素信号に対するコード生成をサポートします。
[入力処理] パラメーターを
[チャネルとしての列 (フレーム ベース)]
に設定することはできません。[入力処理] を
[チャネルとしての要素 (サンプル ベース)]
に設定するには、[マルチレート処理を許可]
を選択します。このように設定すると、[サンプル オフセット] が 0 に設定されている場合、生成されるコードに [初期条件] は影響を与えません。
バージョン履歴
R2006a より前に導入Downsample ブロックがシングルレート フレームベースの処理モードで動作するときに、入力端子を通してダウンサンプリング係数を指定できるようになりました。入力端子でダウンサンプリング係数を指定する場合、シミュレーション中に係数を変更できます。
R2022b 以降、このブロックは次に示す条件下で任意のフレーム長をもつ入力信号をサポートしています。
入力信号が固定サイズの信号 (シミュレーション中に信号の次元が変化しない) で、ブロックがマルチレート処理を許可している場合
入力信号が固定サイズの信号で、ブロックがシングルレート処理を実行し、[固定サイズの入力信号に対する任意のフレーム長を許可] パラメーターが選択されている (有効になっている場合) 場合
入力信号が可変サイズの信号 (シミュレーション中に信号の次元が変化する) の場合
このブロックが任意のフレーム長の入力信号をサポートしている場合、入力フレーム長はダウンサンプリング係数の倍数である必要はありません。
詳細については、フレームベースの処理およびサンプルベースの処理を参照してください。
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)