FFT
- 更新日2025-01-28
- 16分で読める
高速フーリエ変換 (FFT) を計算します。シングルチャンネル、1サンプル入力形式は、FFTをポイントごとに計算します。シングルチャンネル、複数サンプル入力形式を使用すると、複数のサンプル/サイクルを使用して、データストリームに対するFFT解析を実行できます。
を使用した後、このExpress VIの 単一チャンネル、単一サンプル 入力形式を使用できます。切り捨てられた波形に関連するスペクトル漏れを最小限に抑えるための スケールされたウィンドウExpress VI です。また、 シングルチャンネル、シングルサンプル 入力形式を使用する場合に、このExpress VIの出力を振幅またはパワースペクトルに変換するための FFTからスペクトル VI。

ダイアログボックスオプション
| パラメータ | 説明 |
|---|---|
| 入力形式 | 次のオプションがあります。
|
| パラメータを変換 | 次のオプションがあります。
|
| 出力データタイプ | 次のオプションがあります。
|
| 実行モード | 次のオプションがあります。
|
| 実装目標 | このExpress VIを使用してFFT結果の確度を最適化するか、FPGAターゲットのリソース使用を最適化するかを指定します。このオプションは、入力形式セクションでシングルチャンネル、複数サンプルを選択し、出力データタイプセクションでソースに適応を選択した場合にのみ使用可能です。ソースに適応をオフにした場合は、確度のみが選択可能にあり、構成する出力ワード長によって、確度とFPGAリソース使用量が決定されます。次のオプションがあります。
|
| 入力/出力指標パターン | 入力データと出力データのFFTフレームの指標間隔を指定します。入力/出力指標パターン の下の画像は、選択した構成を表します。次のオプションがあります。
|
| 構成フィードバック | このExpress VIの実行方法に関する情報、および警告やエラーなどのその他の有用な情報を表示します。 |
入力/出力
実データ入力
—
虚データ入力
—
リセット
—
実データ出力
—
出力有効
—
データ指標
—
虚データ出力
—
|
シングルサイクルタイミングループの外のタイミング図 (シングルチャンネル、1サンプル入力形式)
以下の図は、このExpress VIをシングルサイクルタイミングループの外側で使用した場合のタイミングを示しています。
スループットが1サイクル/入力の場合のシングルサイクルタイミングループ内のタイミング図
以下の図は、このExpress VIをスループットが1サイクル/入力のシングルサイクルタイミングループの内部で使用した場合のタイミングを示しています。
スループットが1サイクル/入力ではない場合のシングルサイクルタイミングループ内のタイミング図
以下の図は、このExpress VIをスループットが1サイクル/入力ではないシングルサイクルタイミングループの内部で使用した場合のタイミングを示しています。
FFTの計算中にデータの損失を防ぐ
このExpress VIは、シングルサイクルタイミングループ内でFFTの計算中に値の受け渡しを行いません。この間、システムや他のノードからこのExpress VIにデータが送信されると、データは破棄されます。これは、このExpress VIが複雑で不均一な方法でデータを受信すると起こります。
データが失われないようにするには、このExpress VIが再度値を受け入れるまでデータを保持 するFIFOを作成し ます。作成するFIFOが、FFTの計算を行っている間に収集されるすべてのデータポイントを保持するのに十分な大きさにしてください。作成する必要のあるFIFOのサイズを概算するには、このExpress VIのレイテンシを平均のシステムスループットで除算します。
適切な入力/出力指標パターンを選択する (シングルチャンネル、複数サンプル入力形式)
シングルチャンネル、複数サンプル入力形式を使用するときは、適切な入力/出力指標パターンを選択する必要があります。FFT Express VIのデータソースがFPGA I/Oノードの場合は、連続入力指標/M間隔出力指標を選択します。FFTの結果に対して逆FFTを実行するときなどのように、データソースが別のFFT Express VIの出力になる場合は、2番目のFFT Express VIの入力パターンが、最初のFFT Express VIの出力パターンと同じであることを確認してください。そうしないと、FFTの結果が不正確になってしまいます。
連続入力指標/M間隔出力指標 入力/出力指標パターン (M=1024とする) を使用した、入力ごとに4サンプルを持つ4096ポイントのFFTの場合、 入力サンプルの指標は、最初の有効入力サイクルでは0、1、2、3となり、2番目のサイクルでは4、5、6、7、という具合になります。出力サンプルの指標は、最初の有効出力サイクルでは0、1024、2048、3072となり、2番目のサイクルでは、1、1025、2049、3073という具合になります。以下の図は、そのような連続入力指標/M間隔出力指標 入力/出力指標パターンを視覚表示したものです。
反対に、M間隔出力指標/連続入力指標 入力/出力指標パターンを選択すると、出力は連続パターンになります。さきほどの例と比較すると、入力と出力のパターンが逆になります。以下の図は、そのようなM間隔出力指標/連続入力指標 入力/出力指標パターンを視覚表示したものです。
実装目標に関する注意事項 (シングルチャンネル、複数サンプル入力形式)
理論的には、固定小数点入力データ上でN ポイントのFFTを実行すると、入力データと比べてワード長がlog2(N)+1ビット多い出力データが生成されます。構成ダイアログボックスの実装目標セクションで確度を選択すると、FFT Express VIはゼロを付加することによって入力データのワード長を出力ワード長に延長するため、すべての内部複素数の積の演算でこのワード長が使用されます。反対に、リソース使用量を使用した場合、FFT Express VIは入力から出力までワード長を段階を踏んで増やします。このため、複素乗算器のビット幅も段階単位で増加します。
リソース使用量を選択した場合、確度を選択した場合よりも複素乗算器で保持されるビット数が少なくなるため、出力データでlog2(N)+1ビットが増えても、確度を選択したときと比べて確度が劣ることになります。リソース使用量を選択すると、複素乗算器と内部レジスタのビット幅が、確度を選択したときに生じるビット幅よりも少なくなります。.リソース使用量を選択すると、複素乗算器で短いワード長が使用されるため、コンパイル時のFPGAクロックレートを高くすることができる可能性があります。
サンプルプログラム
LabVIEW FPGAモジュールに含まれている以下のサンプルファイルを参照してください。
- labview\examples\CompactRIO\FPGA Fundamentals\FPGA Math and Analysis\FFT\FFT.lvproj
- labview\examples\R Series\FPGA Fundamentals\FPGA Math and Analysis\FFT (1 Channel, N Samples)\FFT (1 Channel, N Samples).lvproj
- labview\examples\R Series\FPGA Fundamentals\FPGA Math and Analysis\Cross-correlation Using FFT (1 Channel, N Samples)\Cross-correlation Using FFT (1 Channel, N Samples).lvproj
- labview\examples\R Series\FPGA Fundamentals\FPGA Math and Analysis\FFT\FFT.lvproj
実データ入力
—
リセット
—
実データ出力
—
出力有効
—
データ指標
—