このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
Downsample
サンプルを削除することで低いレートで入力をリサンプリングする
- ライブラリ:
DSP System Toolbox / Signal Operations
DSP System Toolbox HDL Support / Signal Operations

説明
Downsample ブロックは、サンプルを削除することにより入力のサンプリング レートを低くします。このブロックは、フレームベースの処理を実行する場合、Mi 行 N 列の入力行列の各列にあるデータを個別にリサンプリングします。サンプルベースの処理を実行する場合は、入力の各要素を別々のチャネルとして扱い、入力配列の各チャネルを時間全体にわたってリサンプリングします。リサンプリング レートは、入力サンプルレートの K 分の 1 になります。K は [ダウンサンプリング係数] パラメーターの値です。Downsample ブロックは、出力される各サンプルに続く K–1 個の連続するサンプルを破棄することで入力をリサンプリングします。
このブロックは、[Rate options] パラメーターを [Enforce single-rate processing]
に設定すると、Triggered Subsystem をサポートします。
端子
入力
Port_1
— データ入力
列ベクトル | 行列 | N 次元配列
このブロックによってサンプリング レートを低下させるデータ入力。列ベクトルまたは行列を指定します。
[入力処理] パラメーターを [チャネルとしての要素 (サンプル ベース)]
に設定すると、入力を N 次元配列にすることができます。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
複素数のサポート: あり
出力
Port_1
— ダウンサンプリングされた出力
列ベクトル | 行列
サンプリング レートが入力サンプリング レートの 1/K 倍である、ダウンサンプリングされた出力。列ベクトルまたは行列として返されます。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
複素数のサポート: あり
パラメーター
Downsample factor, K
— ダウンサンプリング係数
2
(既定値) | 正の整数
整数の係数 K。この係数で入力サンプルレートを低減します。
Sample offset (0 to K-1)
— Sample offset
0
(既定値) | 整数
[Sample offset] パラメーターは出力サンプルをサンプル周期の数 D (0 ≤ D ≤ (K–1) の整数) だけ遅延させます。それにより、 K による出力位相のいずれかを選択できます。たとえば、1、2、3、... というシーケンスを係数 4 でダウンサンプリングする場合、4 つの位相のいずれかを選択できます。
入力シーケンス | サンプル オフセット D | 出力シーケンス (K = 4) |
---|---|---|
| 0 |
|
| 1 |
|
| 2 |
|
| 3 |
|
表の後ろの 3 つの各出力シーケンスで最初が 0 になっているのは、この例の [Initial conditions] パラメーターの設定が既定の 0 になっているためです。[Initial conditions] パラメーターの詳細については、レイテンシを参照してください。
Input processing
— 入力を処理する方式
Columns as channels (frame based)
(既定値) | Elements as channels (sample based)
入力処理の方式を指定します。
チャネルとしての列 (フレーム ベース)
–– [入力処理] パラメーターを[チャネルとしての列 (フレーム ベース)]
に設定した場合、N 個の入力列のそれぞれが、Mi 個の逐次時間サンプルが含まれる個別のチャネルとして扱われます。このブロックは、出力する各行に続く入力行列の K – 1 行を破棄することにより、各チャネルを個別にダウンサンプリングします。詳細については、フレームベースの処理とはを参照してください。
チャネルとしての要素 (サンプル ベース)
–– [入力処理] パラメーターを[チャネルとしての要素 (サンプル ベース)]
に設定すると、入力を N 次元配列にすることができます。Downsample ブロックは、入力の各要素を別々のチャネルとして扱い、入力配列の各チャネルを時間の経過に沿ってリサンプリングします。このブロックは、通過して出力に渡される各サンプルに続く K–1 個のサンプルを破棄することで入力配列をダウンサンプリングします。Downsample ブロックの入力と出力のサイズは同じです。詳細については、サンプルベースの処理とはを参照してください。
Rate options
— シングルレート処理を強制またはマルチレート処理を許可
シングルレート処理を強制
(既定値) | マルチレート処理を許可
このブロックでサンプル数の減少に対応するために出力のレートを調整する方法を指定します。以下のオプションのいずれかを選択します。これらのオプションの動作は、[入力処理] パラメーターが [チャネルとしての要素 (サンプル ベース)]
(サンプル ベースの処理モード) と [チャネルとしての列 (フレーム ベース)]
(フレーム ベースの処理モード) のどちらに設定されているかに依存します。
Elements as channels (sample based)
シングルレート処理を強制
入力信号を K 個ごとに出力で K 回繰り返すことにより、強制的に出力サンプルレートを入力サンプルレートに一致させます (Tso = Tsi)。このモードのブロックの動作は、周期 KTsi でトリガー イベントを繰り返す Sample and Hold ブロックの処理に似ています。
マルチレート処理を許可
出力のサンプル周期は入力のサンプル周期の K 倍になります (Tso = KTsi)。
Columns as channels (frame based)
Enforce single-rate processing
ブロックは入力よりも比較的小さいフレーム "サイズ" を使用して、遅い (ダウンサンプリングされた) レートで出力を生成します。ダウンサンプリングの係数が K の場合、出力フレーム サイズは入力フレーム サイズの K 分の 1 (Mo = Mi/K) ですが、入力と出力のフレーム レートは等しくなります。
ex_downsample_ref2 モデルでは、フレーム サイズが 64 の単一チャネル入力を係数 4 でダウンサンプリングしてフレーム サイズを 16 にしています。入力と出力のフレーム レートは同じです。
マルチレート処理を許可
ブロックは入力端子よりも比較的長いフレーム "周期" を出力端子で使用して、遅い (ダウンサンプリングされた) レートで出力を生成します。ダウンサンプリングの係数が K の場合、出力フレーム周期は入力フレーム周期の K 倍 (Tfo = KTfi) ですが、入力と出力のフレーム サイズは等しくなります。
ex_downsample_ref1 モデルでは、フレーム周期が 1 秒の単一チャネル入力を係数 4 でダウンサンプリングしてフレーム周期を 4 秒にしています。入力と出力のフレーム サイズは同じです。
初期条件
— 初期値
0
(既定値) | 実数スカラー | 配列
非ゼロ レイテンシの場合のブロックの初期値。スカラーを指定するか、入力と同じサイズの配列を指定できます。
依存関係
このパラメーターは、[Rate options] パラメーターを [Allow multirate processing]
に設定した場合にのみ表示されます。
ブロックの特性
データ型 |
|
直接フィードスルー |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
詳細
レイテンシ
レイテンシは、ブロックの入力と出力の間でサンプル数単位またはフレーム数単位で測定された遅延です。
Downsample ブロックは、次のような場合に "ゼロタスク レイテンシ" になります。
[Downsample factor] パラメーター K が
1
である。[入力処理] パラメーターが
[チャネルとしての列 (フレーム ベース)]
に、[レート オプション] パラメーターが[シングルレート処理を強制]
に設定されている。[入力処理] パラメーターが
[チャネルとしての列 (フレーム ベース)]
に、[レート オプション] パラメーターが[マルチレート処理を許可]
に、[サンプル オフセット] パラメーター D が0
に設定されており、入力フレーム サイズが 1 である。[入力処理] パラメーターが
[チャネルとしての要素 (サンプル ベース)]
に設定されており、[サンプル オフセット] パラメーター D が0
である。
ゼロタスク レイテンシとは、ブロックが入力サンプル D+1 (t=0 で受信) を最初の出力サンプルとして伝播し、入力サンプル D+1+K、入力サンプル D+1+2K のように続くことを意味します。ゼロタスク レイテンシがある場合、ブロックは [Initial conditions] パラメーターの値を無視します。
それ以外の場合、いずれもレイテンシは非ゼロになります。
[Input processing] パラメーターが
[Elements as channels (sample based)]
が設定されている場合、レイテンシは 1 サンプルです。[Input processing] パラメーターが
[Columns as channels (frame based)]
に設定されていて、入力フレーム サイズが 1 より大きい場合、レイテンシは 1 フレームです。
"1 サンプルのレイテンシ" の場合は、いずれも各チャネルの初期条件が最初の出力サンプルとして表示されます。入力サンプル D+1 が各チャネルの 2 番目の出力サンプルとなり、入力サンプル D+1+K、入力サンプル D+1+2K のように続きます。[初期条件] パラメーターは、入力と同じサイズの配列か、すべての信号チャネルに適用するスカラーにすることができます。
"1 フレームのレイテンシ" の場合は、いずれも初期条件の行列の Mi 行が順番通りに出力の最初の Mi 行になります。入力サンプル D + 1 (入力行列の行 D + 1) は出力でサンプル Mi + 1 として現れ、入力サンプル D + 1 + K、入力サンプル D + 1 + 2K のように続きます。[初期条件] の値は、各チャネルに対して 1 つずつの値が含まれている Mi 行 N 列の行列、または Mi 行 N 列の行列の全要素に対して繰り返されるスカラーにすることができます。
メモ:
レイテンシと Simulink® タスク モードの詳細については、Excess Algorithmic Delay (Tasking Latency)と時間ベースのスケジューリングとコード生成 (Simulink Coder)を参照してください。
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
生成されたコードは特定の条件下で関数 memcpy
または関数 memset
(string.h
) に依存します。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための Verilog および VHDL のコードを生成します。
HDL Coder™ は、HDL の実装および合成ロジックに影響を与える、追加の構成オプションを提供します。
単位遅延がある Downsample ブロックを続けることをお勧めします。このようにすると、余計なバイパス レジスタが HDL コードに挿入されなくなります。
マルチレート モデルの HDL コード生成に関する要件 (HDL Coder)も参照してください。
このブロックは 1 つの既定の HDL アーキテクチャをもっています。
ConstrainedOutputPipeline | 設計内で既存の遅延を移動することによって出力に配置するレジスタの数。分散型パイプラインは、これらのレジスタを再分散しません。既定の設定は |
InputPipeline | 生成コードに挿入する入力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
OutputPipeline | 生成コードに挿入する出力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
このブロックは、複素信号に対するコード生成をサポートします。
[Input processing] パラメーターを
[Columns as channels (frame based)]
に設定することはできません。[Input processing] を
[Elements as channels (sample based)]
に設定するには、[Allow multirate processing]
を選択します。このように設定すると、[Sample offset] が 0 に設定されている場合、生成されるコードに [Initial conditions] は影響を与えません。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
バージョン履歴
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)