シングルチャンネル、1サンプル

入力信号の高速フーリエ変換 (FFT) をポイントごとに計算します。

1378

入力/出力

datatype_icon

リセット

ノードの内部状態をリセットするかどうかを指定するブール値です。

True ノードの内部状態をリセットします。
False ノードの内部状態をリセットしません。

Default value: False

ハンドシェイク入力および出力における動作

このノードでのハンドシェイク入力および出力は、リセットがTrueのサイクル中に以下のように動作します。

  • 入力有効は無視されます。
  • 出力準備完了は無視されます。
  • 出力有効はFalseです。
  • 入力準備完了はFalseで、リセットが1サイクル以上Trueに保持されるケースを処理します。このノードは、リセットが完了し、リセットがFalseを返した後に入力準備完了になります。
datatype_icon

データ入力

FFTを計算する入力信号です。

この入力には以下のデータタイプを使用できます。

  • 8ビット符号付き整数
  • 8ビット符号なし整数
  • 16ビット符号付き整数
  • 16ビット符号なし整数
  • 32ビット符号付き整数
  • 固定小数点数
  • 複素固定小数点数

この入力の最大ワード長は32ビットです。

datatype_icon

入力有効

次の処理データ要素を受信したかどうかを示すブール値です。先行ノードからこのノードにデータを渡すには、先行ノードの出力有効出力をこの入力に配線します。

True 次の処理データ要素を受信しました。
False 次の処理データ要素を受信していません。
datatype_icon

出力準備完了

後続ノードがこのノードから返される新しい値を受信できる状態かどうかを定義するブール値です。後続ノードの入力準備完了出力を現在のノードのこの入力に配線するには、フィードバックノードを使用します。

True 後続ノードがこのノードから返される新しい値を受信できる状態です。
False 後続ノードがこのノードから返される新しい値を受信できる状態ではありません。
メモ サイクルでこの入力がFalseの場合、同サイクルで出力有効出力もFalseを返します。

Default value: True

datatype_icon

データ出力

入力信号のFFTです。

DFT結果の最大ワード長は32ビットです。

FFTのワード長をカスタマイズする

通常、FFTのワード長は、入力データよりもlog2 (N)+1ビット大きくなります (NはFFTサイズ)。FFTのワード長をカスタマイズするには、項目タブの端子セクションの精度制御器の隣にある複素固定小数点数コンフィギュレータボタンをクリックします。

出力ワード長を小さくすると、FPGAリソースは節約されますが、確度が低下します。NIでは、所定の構成のシミュレーションを行って、得られる精度がお使いのFPGAリソースとタイミングのニーズを満たしていることを確認することをお勧めします。

datatype_icon

データ指標

このノードが返すFFTビンの指標です。

Default value: 0

datatype_icon

出力有効

このノードが後続ノードで使用できる結果を計算するかどうかを示すブール値です。

ノードのデータを後続ノードに送信するには、この出力を後続の入力有効入力に配線します。

True 後続ノードは、このノードが計算する結果を使用できます。
False このノードは、後続ノードが使用できない未定義の値を返します。
メモ このノードは、シミュレーションモードで実行した場合、ハードウェア上で実行した場合と比較して、未定義の異なる値を返す可能性があります。
datatype_icon

入力準備完了

このノードが新しい入力データを受信できる状態かどうかを決定するブール値です。この出力を先行ノードの出力準備完了入力に配線するには、フィードバックノードを使用します。

True このノードは新しい入力データを受信できる状態です。
False このノードは新しい入力データを受信できる状態ではありません。
メモ あるサイクルでこの端子がFalseを返した場合、次のサイクルで別のノードがこのノードに送信するデータはすべて破棄されます。このノードは、次のサイクルで入力有効入力がTrueである場合もこのデータを破棄します。

タイミングダイアグラム

このノードは、スループットがサンプルにつき1サイクルであるため、各呼び出しでデータを受け入れます。次の図は、このノードが使用するタイミングを示しています。


1378

FFTの計算中にデータの損失を防ぐ

このノードは、FFTの計算中に値を送受信しません。この間、このノードは、システムや他のノードからデータを受信すると、データを破棄します。これは、このノードが複雑または不均一な方法でデータを受信した場合に起こる可能性があります。

データの損失を防ぐため、このノードが値を受信するまでデータを保持しておくFIFOを作成してください。FFTの計算中に収集されるすべてのデータポイントを保持するのに十分な大きさのFIFOを作成します。作成する必要のあるFIFOのサイズを概算するには、このノードのレイテンシを平均のシステムスループットで除算します。レイテンシは、構成ペーンの項目タブのパフォーマンスセクションにあります。

確度、リソース使用量、またはタイミングを最適化する

このノードで確度、最小リソース使用量、またはタイミングを最適化するように構成するには、構成ペーンの項目タブの最適化セクションを使用します。

目標セクションで、出力データのワード長を決める際、このノードは出力データの確度を最適化するか、リソース使用量を最小限に抑えるかを構成できます。次の表は、特定の使用例においてどちらのオプションを使用するか決定する際の基準を示しています。

使用例 推奨オプション ノード動作 結果
FPGAリソース使用量を増加させてでも、出力データの最終ビットの確度を最適化したい場合。 確度 このノードは、ゼロをパディングして、入力データのワード長を出力ワード長に拡張します。内部複素乗算演算は、すべてこのワード長を使用します。 リソース使用量オプションと比較すると、複素乗算器は、より多くのビットを保持し、出力データの増加したlog2(N)+1ビットはより正確です。
出力データの確度を落としても、FPGAリソース使用を削減したい場合。 リソース使用量 このノードは、ワード長を入力から出力まで段階的に増加させます。このため、複素乗算器のビット幅も段階単位で増えます。 確度オプションと比較すると、複素乗算器と内部レジスタのビット幅は小さいため、FPGAリソースが節約され、コンパイル時にFPGAクロックレートが高くなる可能性があります。

最適化目標を構成した後も、このノードが、確度、リソース、またはタイミングの要件を満たさない場合は、Twiddle係数語長バタフライのパイプライン段階の数の値を調整してこのノードのパフォーマンスを改善させます。