AI エンジンは、データをブロックごとに処理し、ウィンドウと呼ばれるデータ構造を使用して 1 ブロックの入力または出力データを記述します。ウィンドウ サイズ (入力または出力データの各ブロック内のサンプル数) は、効率と処理レイテンシのトレードオフを表します。ウィンドウ サイズが大きいほど効率は高くなりますが、ウィンドウ サイズに比例してレイテンシは長くなります。AI エンジンの処理効率が 5 ~ 10% 低下しても、レイテンシが短い方が望ましい場合があります。
たとえば、このアプリケーション ノートでは、入力ウィンドウ サイズを 512 サンプルに設定し、レイテンシを 2.1 マイクロ秒以内に制限しています。次の表に、DDC フィルターのウィンドウ サイズとサンプル レートを示します。
フィルター | 入力サンプル レート (MSPS) | 出力サンプル レート (MSPS) | 入力ウィンドウ | 出力ウィンドウ |
---|---|---|---|---|
HB47 | 245.76 | 122.88 | 512 | 256 |
HB11 | 122.88 | 61.44 | 256 | 128 |
FIR199 | 122.88 | 122.88 | 256 | 256 |
HB23 | 61.44 | 30.72 | 128 | 64 |
FIR89 | 30.72 | 30.72 | 64 | 64 |
Mixer | 122.88 | 122.88 | 256 | 1280/5x キャリア |
サイクル バジェットは、関数が 1 ブロックの出力データを計算するのに必要な命令サイクル数で、次式で求められます。
AI エンジン クロックが 1GHz の最低スピード グレード デバイスでは、245.76MSPS で 512 個のサンプルを処理するのに必要なサイクル バジェットは 2083 サイクルです。
各出力ごとに P 回の 16 ビット実数 × 16 ビット実数乗算が必要であると想定します。AI エンジンは、このような実数 × 実数乗算を各サイクルで 32 回実行できます。理想的なインプリメンテーションでは、使用率の下限は次式で求められます。
FIR199 を例として考えます。FIR199 の実数対称フィルター タップ数は 199 で、各出力の計算には 100 回の 16 ビット複素数 × 16 ビット実数乗算が必要です。したがって、FIR199 の各出力を得るには、200 回の 16 ビット実数 × 16 ビット実数乗算を 122.88 MSPS で実行する必要があります。使用率の下限は、200 サイクル × 256 サンプル/(32 × 2083 サイクル バジェット) = 76.8% の式で計算されます。その他の DDC フィルターの使用率の下限も同じように計算されます。次の表に一覧を示します。
フィルター | 入力ウィンドウ サイズ | 出力ウィンドウ サイズ | タップ数 | 出力あたりの MAC 演算回数 | 使用率/インスタンス | インスタンス数 | 使用率の下限 |
---|---|---|---|---|---|---|---|
FIR199 | 256 | 256 | 199 | 200 | 76.8% | 1 | 76.8% |
FIR89 | 64 | 64 | 89 | 96 | 9.3% | 5 | 46.5% |
HB47 | 512 | 256 | 47 | 32 | 12.3% | 1 | 12.3% |
HB11 | 256 | 128 | 11 | 8 | 1.6% | 5 | 8% |
HB23 | 128 | 64 | 23 | 16 | 1.6% | 5 | 8% |
Mixer 1 | 256 | 1280 | - | 8 | 23% | 1 | 23% |
合計 | 174.6% | ||||||
|
この DDC は、理論的には 2 つの AI エンジンにそれぞれ 87.3% の使用率でインプリメントできますが、このように高い使用率では非常に大きなウィンドウが必要になり、レイテンシが許容範囲を超えてしまいます。使用率を低減する 1 つの方法として、この場合は 5G NR キャリアと 4G LTE キャリアは共存しないという事実を利用して、キャリアの構成に応じて、使用されないキャリアのフィルターを実行中にオフにできます。詳しい解析と説明は、この後のセクションに記載しています。