UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 21924

LogiCORE xFFT - xFFT のステージ別のスケーリング情報の入手先

説明

xFFT を Virtex-4 にインプリメントすると、データシートのタイミング要件が満たされないのはなぜですか。

ソリューション


FFT で結果がスケーリング処理されることを覚えておくことが重要です。

通常は 1/N (N = ポイント数) です。

xFFT ではスケーリングはユーザーが設定します。 
 
次に データシートの「Finite Word Length Considerations」セクションの補足を示します。
 
 
1. FFT の基数を 1 つ選択する必要があります。xFFT ではRadix-4 または Radix-2 がサポートされています。 
 
 
2. 次にバタフライ演算の段数を決定します。

この段数は、FFT に含まれるポイント数に基づきます。
 
- radix-4 - # of stages is log-base4(N) + 1 radix-2 stage at the output, for point sizes not divisible by 4 (N/4 != 0)

たとえば、512/4 != 0 では、Radix-4 が 4 段と Radix-2 が 1 段あります。 
 
- radix-2 = # of stages is log-base2(N) 
 
 
3. 段数の決定後、スケーリング係数を算出できます。

S = 2^((sum from i=0 to i=logN-1)*bi)
 
表示がわかりづらいかも知れませんが、ここでは各段のスケーリング係数値が加算さ、総スケーリング値 S が算出されます。
 
(注記: 式はデータシートの「Finite Word Length Considerations」というセクションからの引用です。)
 
この計算では、スケーリング処理のために特定のビット数がバイナリ シフトされます。

x ビットのシフトは 2^x の乗算なので、式ではスケーリングでシフトするビット数を定義します。 
 
 
次に、256 ポイント FFT の処理例を示します。

1. Radix-4 インプリメンテーションを選択します。 
 
2. log-base4(256) = 4 stages 

e.g. log(256) / log(4) = 4 
 
3. 各段が 2 でスケーリング処理される場合、S を次で算出します。

S = 2^(2 + 2 + 2 + 2) = 256

これにより、FFT の出力は 1/256 でスケーリング処理されます。
 

詳細は、 「References」に言及されているリファレンス資料を参照してください。
AR# 21924
日付 03/06/2015
ステータス アクティブ
種類 一般
デバイス
  • FPGA Device Families
このページをブックマークに追加