Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

Downsample

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

  • Downsample block

ライブラリ:
DSP System Toolbox / Signal Operations
DSP System Toolbox HDL Support / Signal Operations

説明

Downsample ブロックは、サンプルを削除することにより入力のサンプリング レートを低くします。このブロックは、フレームベースの処理を実行する場合、Pi 行 Q 列の入力行列の各列にあるデータを個別にリサンプリングします。サンプルベースの処理を実行する場合は、入力の各要素を別々のチャネルとして扱い、入力配列の各チャネルを時間全体にわたってリサンプリングします。リサンプリング レートは、入力サンプルレートの K 分の 1 になります。K は [ダウンサンプリング係数] パラメーターの値です。Downsample ブロックは、出力される各サンプルに続く K–1 個の連続するサンプルを破棄することで入力をリサンプリングします。

このブロックは、[レート オプション] パラメーターを [シングルレート処理を適用] に設定すると、Triggered Subsystem をサポートします。

端子

入力

すべて展開する

このブロックを使用してサンプリング レートを低下させたいデータ入力。列ベクトルまたは行列として指定します。

[入力処理] パラメーターを [チャネルとしての要素 (サンプル ベース)] に設定すると、入力を N 次元配列にすることができます。

[入力処理][チャネルとしての列 (フレーム ベース)] に、[レート オプション][シングルレート処理を適用] に設定している場合、このブロックは可変サイズの入力信号をサポートします。そのため、フレーム長 (行数) とチャネル数 (列) がシミュレーション中に変化しても構いません。ブロックが可変サイズの入力信号を受け入れる場合、信号のフレーム長は任意の長さで構いません。つまり、入力フレーム長がダウンサンプリング係数の倍数である必要はありません。固定サイズの信号を指定する場合、特定の条件下でフレーム長を任意の長さにすることができます。詳細は、フレームベースの処理およびサンプルベースの処理を参照してください。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point
複素数のサポート: あり

出力

すべて展開する

サンプリング レートが入力サンプリング レートの 1/K 倍である、ダウンサンプリングされた出力。列ベクトルまたは行列として返されます。

[レート オプション] を次のように設定にした場合:

  • シングルレート処理を適用 — ブロックは入力サンプル レートを維持し、出力のフレーム サイズを K 分の 1 に減少させることにより、信号をダウンサンプリングします。

    出力は、P 行 Q 列のサイズの入力に対し、ceil(P/K) 行 Q 列の上限サイズをもちます。

  • マルチレート処理を許可 — ブロックは、出力サンプル レートが入力サンプル レートの K 分の 1 になるように信号をダウンサンプリングします。

    出力のフレーム サイズは入力のフレーム サイズと同じになります。

詳細は、フレームベースの処理およびサンプルベースの処理を参照してください。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point
複素数のサポート: あり

パラメーター

すべて展開する

整数の係数 K。この係数で入力サンプルレートを低減します。

[Sample offset] パラメーターは出力サンプルをサンプル周期の数 D (0 ≤ D ≤ (K–1) の整数) だけ遅延させます。それにより、 K による出力位相のいずれかを選択できます。たとえば、1、2、3、... というシーケンスを係数 4 でダウンサンプリングする場合、4 つの位相のいずれかを選択できます。

入力シーケンスサンプル オフセット D出力シーケンス (K = 4)

1,2,3,...

0

1,5,9,13,17,21,25,29,...

1,2,3,...

1

0,2,6,10,14,18,22,26,...

1,2,3,...

2

0,3,7,11,15,19,23,27,...

1,2,3,...

3

0,4,8,12,16,20,24,28,...

表の後ろの 3 つの各出力シーケンスで最初が 0 になっているのは、この例の [Initial conditions] パラメーターの設定が既定の 0 になっているためです。[Initial conditions] パラメーターの詳細については、レイテンシを参照してください。

入力処理の方式を指定します。

  • チャネルとしての列 (フレーム ベース) –– [入力処理] パラメーターを [チャネルとしての列 (フレーム ベース)] に設定した場合、Q 個の入力列のそれぞれが、Pi 個の逐次時間サンプルが含まれる個別のチャネルとして扱われます。このブロックは、出力する各行に続く入力行列の K – 1 行を破棄することにより、各チャネルを個別にダウンサンプリングします。

    詳細については、フレームベースの処理とはを参照してください。

  • チャネルとしての要素 (サンプル ベース) –– [入力処理] パラメーターを [チャネルとしての要素 (サンプル ベース)] に設定すると、入力を Q 次元配列にすることができます。Downsample ブロックは、入力の各要素を別々のチャネルとして扱い、入力配列の各チャネルを時間の経過に沿ってリサンプリングします。このブロックは、通過して出力に渡される各サンプルに続く K–1 個のサンプルを破棄することで入力配列をダウンサンプリングします。Downsample ブロックの入力と出力のサイズは同じです。

    詳細については、サンプルベースの処理とはを参照してください。

このブロックでサンプル数の減少に対応するために出力のレートを調整する方法を指定します。以下のオプションのいずれかを選択します。これらのオプションの動作は、[入力処理] パラメーターが [チャネルとしての要素 (サンプル ベース)] (サンプル ベースの処理モード) と [チャネルとしての列 (フレーム ベース)] (フレーム ベースの処理モード) のどちらに設定されているかに依存します。

  • Elements as channels (sample based)

    • シングルレート処理を適用

      入力信号を K 個ごとに出力で K 回繰り返すことにより、強制的に出力サンプルレートを入力サンプルレートに一致させます (Tso = Tsi)。このモードのブロックの動作は、周期 KTsi でトリガー イベントを繰り返す Sample and Hold ブロックの処理に似ています。

    • マルチレート処理を許可

      出力のサンプル周期は入力のサンプル周期の K 倍になります (Tso = KTsi)。

    詳細は、サンプルベースの処理を参照してください。

  • Columns as channels (frame based)

    • シングルレート処理を適用

      ブロックは入力よりも比較的小さいフレーム "サイズ" を使用して、遅い (ダウンサンプリングされた) レートで出力を生成します。出力の上限サイズは ceil(P/K) となります。ここで、P は入力フレーム長、K は [Downsample factor, K] パラメーターで指定したダウンサンプリング係数です。入力と出力のフレーム レートは等しくなります。詳細は、フレームベースの処理を参照してください。

      ex_downsample_ref2 モデルでは、フレーム サイズが 64 の単一チャネル入力を係数 4 でダウンサンプリングしてフレーム サイズを 16 にしています。入力と出力のフレーム レートは同じです。

    • マルチレート処理を許可

      ブロックは入力端子よりも比較的長いフレーム "周期" を出力端子で使用して、遅い (ダウンサンプリングされた) レートで出力を生成します。ダウンサンプリングの係数が K の場合、出力フレーム周期は入力フレーム周期の K 倍 (Tfo = KTfi) ですが、入力と出力のフレーム サイズは等しくなります。詳細は、フレームベースの処理を参照してください。

      ex_downsample_ref1 モデルでは、フレーム周期が 1 秒の単一チャネル入力を係数 4 でダウンサンプリングしてフレーム周期を 4 秒にしています。入力と出力のフレーム サイズは同じです。

固定サイズの入力信号 (シミュレーション中にサイズが変化しない入力信号) に対し、任意のフレーム長を許可するかを指定します。任意のフレーム長とは、フレーム長がダウンサンプリング係数の倍数である必要がないことを意味します。ブロックは、このパラメーター設定を固定サイズの入力信号に対してのみ使用し、可変サイズの入力の場合はこのパラメーターを無視します。

入力信号が可変サイズの信号の場合、そのフレーム長は任意の長さで構いません。つまり、フレーム長が間引き係数の倍数である必要はありません。

固定サイズの入力信号の場合:

  • [Allow arbitrary frame length for fixed-size input signals] パラメーターを選択すると、信号のフレーム長がダウンサンプリング係数の倍数である必要がなくなります。入力がダウンサンプリング係数の倍数ではない場合、出力は一般的に可変サイズの信号となります。そのため、任意の入力サイズをサポートするには、ブロックは可変サイズの処理もサポートする必要があります。これは、[Allow arbitrary frame length for fixed-size input signals] パラメーターを選択することで有効にできます。

  • [Allow arbitrary frame length for fixed-size input signals] パラメーターの選択を解除すると、入力フレーム長がダウンサンプリング係数の倍数でなければならなくなります。

依存関係

このパラメーターを有効にするには、[入力処理][チャネルとしての列 (フレーム ベース)] に、[レート オプション][シングルレート処理を適用] に設定します。

非ゼロ レイテンシの場合のブロックの初期値。スカラーを指定するか、入力と同じサイズの配列を指定できます。

依存関係

[入力処理][チャネルとしての列 (フレーム ベース)] に、[レート オプション][シングルレート処理を適用] に設定されていると、このパラメーターは表示されません。

ブロックの特性

データ型

Boolean | double | fixed point | integer | single

直達

いいえ

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

詳細

すべて展開する

拡張機能

固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。

バージョン履歴

R2006a より前に導入

すべて展開する