ハードウェアFFT回路がようやく動いた
長い間がんばってきたハードウェアFFT回路がようやく動きました。
まずは、この結果を見てください。
信号発生器(Agilent E4432B)を用いて1~40MHzの正弦波を生成し、Cosmo-ZでキャプチャしてハードウェアFFTしたした際の結果です。
基本波に対してスプリアスが2倍、3倍の速度で動いていくのが見えます。
次の図は、信号発生器からCDMA信号(いわゆる昔の携帯電話)を出した生の波形です。
電圧の振幅は1V程度ありますが、FFTしてみると-70dBしかないので、スペクトラムが拡散されていることが窺われます。
このFFT IPコアは、32768ポイントのFFTを、最短51μ秒で実行します。Radix-8、周波数間引き、改良型FFTアルゴリズムを採用しています。
FPGAのリソースは、BRAM36Kを96個、DSP48Eを216個使用します。Cosmo-Zに8chのキャプチャ回路など諸々一式を入れた状態でのリソースの使用率を示します。
Slice Logic Utilization | Used | Available | Utilization |
Number of Slice Registers | 15,302 | 15,720 | 9% |
Number of Slice LUTs | 11,431 | 78,600 | 14% |
Number of occupied Slices | 4,874 | 19,650 | 24% |
Number of RAMB36E1/FIFO36E1s | 140 | 265 | 52% |
Number of RAMB18E1/FIFO18E1s | 82 | 530 | 15% |
Number of DSP48E1s | 224 | 400 | 56% |
このように、FPGAに入れても圧迫しない、コンパクトな設計になっています。
1回の32768ポイントFFTを51μ秒で実行できるので、連続した時系列データをFFTした場合、最高80MHzまで切れ目なくできる計算になります。
| 固定リンク
コメント