第15回LSIデザインコンテスト・イン沖縄  設計仕様書 - 4-2-2

4-2-2. N=8 のFFT回路

(1) 回路設計

Figure 25

図25:  パラレル入力に対する8点FFTの概念的ブロック図

Figure 26

図26:  シリアル入力に対する8点FFT回路の概念的ブロック図

前章と同様にパラレル入力に対するFFT回路から作成する.

シリアル入力を遅延させバタフライ演算回路に入力し, 出力信号のうちFFTに必要な信号のみ次のバタフライ演算回路へ送るようマルチプレクサで制御する。

作成した回路を図27に示す。

Figure 27

図27:  シリアル入力に対する8点FFT回路


a) MUX_control

MUX_controlというブロックはマルチプレクサのセレクタに入力する信号を制御するシーケンスであり、これによりマルチプレクサの出力信号を決定している。

シーケンスのパラメータを図28に示す.

Figure 28

図28:  MUX_controlシーケンスのパラメータ

図28から読み取れるようにMUX_controlから出力される値はステップごとに変化している。 これによりバタフライ演算回路の出力信号のうちFFTに必要な信号のみ次のバタフライ演算回路へ送るよう制御を行っている。


b) W_control

W_controlは回転因子Wを表すシーケンスである。

STEPごとに複素乗算する回転因子の値(実部、虚部)を変化させて、バタフライ演算を行う。

回転因子Wは Symbol 1, Symbol 2, Symbol 3, Symbol 4 であるため、シーケンスのパラメータは表7のようになる。

表7:  W_controlシーケンスのパラメータ

Table 7

表7において, Symbol 10 を小数で表す際に概数として0.7071を用いた。

表7からわかるように、図26のMULT0において最初のステップでは Symbol 5, を乗算し、以降順に Symbol 6, Symbol 7, Symbol 8, を乗算している。 MULT1において最初のステップでは Symbol 5 を乗算し、次のステップでは Symbol 7 を乗算している。MULT2においては常に Symbol 5 を乗算している。

図27のシリアル入力に対する8点FFT回路のタイミングチャートを図29に示す。

Figure 29

図29:  シリアル入力に対する8点FFT回路のタイミングチャート

(2) 検証

入力信号を x(0)=0+0j, x(1)=1+1j, x(2)=2+2j, x(3)=3+3j, x(4)=4+4j, x(5)=5+5j, x(6)=6+6j, x(7)=7+7j として回路上でシミュレーションを行った。 出力波形を図30に示す。

Figure 30

図30:  シリアル入力に対する8点FFT回路の出力波形

図28の出力波形から小数点以下の値を読み取るのは困難なため,MATLAB上に値として表示した。

出力信号は X(0)=28+28j, X(1)=-13.6570+5.6575j, X(2)=-8+0j, X(3)=-5.6570-2.3430j, X(4)=-4-4j, X(5)=-2.3430-5.6575j, X(6)=0-8j, X(7)=5.6570-13.6570j となった。

MATLABの演算結果(図27参照)との誤差を表8に示す。

最大誤差は Symbol 9 であり、この誤差の原因は Symbol 10 を二進数で表した際に生じた丸め誤差である。

表8:  MATLABにおける演算結果との誤差

Table 8
Figure 31

図31:  MATLABにおける演算結果