Vector Up Sample - 2022.1 日本語

Vitis Model Composer ユーザー ガイド (UG1483)

Document ID
UG1483
Release Date
2022-05-26
Version
2022.1 日本語

Vector Up Sample ブロックは、入力ベクター データをアップサンプリングします。挿入される値は、ゼロまたは直近の入力サンプルのコピーになります。

ハードウェアの注記: 挿入される値が入力サンプルのコピーである場合、ハードウェアは必要ありません。そうでない場合は、Mux およびシングル ビット フリップフロップが使用されます。

説明

[Super Sample Rate (SSR)]: 各サンプル周期における複数のデータ サンプルの処理を制御します。このブロックは、プライマリ ブロックの演算用に 1-D ベクターのサポートをイネーブルにします。

Vector Up Sample ブロックは、デザインでこのブロックが配置されたポイントのサンプル レートを増加します。出力サンプル周期は l/n です。ここで、l は入力サンプル周期、n はサンプリング レートです。

入力信号はアップサンプリングされ、入力サンプル フレーム内では入力サンプルが出力で n 回表示されるか (サンプルをコピーする場合)、または (n-1) 個の 0 が分散した状態で 1 回表示されるようになります (0 パディングを使用する場合)。

ハードウェアでは、Vector Up Sample ブロックには 2 つのインプリメンテーション方法があります。サンプルをコピーすることを [Block Parameters] ダイアログ ボックスで選択すると、Din ポートが Dout に直接接続され、ハードウェアは消費されません。また、0 をパディングすることを選択すると、入力サンプルと挿入される 0 を切り替えるために Mux が使用されます。0 パディングを使用する場合の Vector Up Sample ブロックの回路は、次のようになります。

図 1. 0 パディングを使用する場合の Vector Up Sample ブロックの回路


ブロックのインターフェイス

Vector Up Sample ブロックは、Src_CE および Dest_CE の 2 つのクロック イネーブル信号を受信します。Src_CE は、入力データ ストリーム レートに対応するクロック イネーブル信号です。Dest_CE は、出力データ ストリーム レートに対応する高速のクロック イネーブルです。回路では、Mux に加えて 1 つのフリップフロップが使用されています。フリップフロップは Src_CE のタイミングを調整するために使用され、Mux が入力サンプル周期の開始でデータ入力サンプルに切り替え、最初の入力サンプルの後で定数 0 に切り替えるようになります。回路には、Din から Dout への組み合わせパスがあります。このため、0 をパディングするように設定した Vector Up Sample ブロックの後にはレジスタを使用するようにしてください。

図 2. Vector Up Sample ブロックの出力

ブロック パラメーター

Simulink® モデルでブロックのアイコンをダブルクリックすると、Block Parameters ダイアログ ボックスが開きます。

Basic タブ
Basic タブには、次のパラメーターがあります。
Sampling rate (number of output samples per input sample)
2 以上の整数を指定する必要があります。これは出力のサンプル周期の入力に対する比であり、実質的にサンプル レートの逓倍値です。たとえば 2 の場合は、入力サンプル レートの 2 倍になります。整数値でない比が必要な場合は、Vector Up Sample ブロックを Vector Down Sample ブロックと組み合わせて使用できます。
Copy samples (otherwise zeros are inserted)
増加したクロック レートによって生成される追加のサンプルをどう処理するかを指定します。このチェック ボックスをオンにすると、同じサンプルが追加のサンプル時間中に複製 (コピー) されます。オフにすると、追加のサンプルは 0 になります。
Provide enable port
オンにすると、[Latency] に 0 より大きい正の整数を指定した場合は、(イネーブル) 入力ポートが追加されます。
Latency
ブロックの出力を遅延させるサンプル周期数を指定します。1 サンプル周期が、対応する FPGA インプリメンテーションの複数クロック サイクルに対応する場合があります (ハードウェアが Simulink モデルに対してオーバークロックされている場合)。ユーザー定義のサンプル レイテンシは Vector Up Sample ブロックで処理されます (入力サンプル レートでイネーブルにされるクロックであるシフト レジスタをブロックの入力に配置することによって)。レイテンシが 0 以外の Vector Up Sample ブロックの動作は、レイテンシが同等の Delay ブロックをレイテンシが 0 の Vector Up Sample ブロックの入力に配置した場合と似ています。

このブロックで使用されるパラメーターについては、[Block Parameters] ダイアログ ボックスの共通オプション を参照してください。