一種固定1024點流水線FFT處理器結(jié)構(gòu)研究
快速傅里葉變換(FFT)算法實現(xiàn)的流水線結(jié)構(gòu)FFT處理器在實時專用處理器中得到了廣泛應(yīng)用.Bi和Jones提出一種固定1024點流水線FFT處理器結(jié)構(gòu),該結(jié)構(gòu)在運算的每級只采用一個復(fù)數(shù)乘法器.基于此結(jié)構(gòu)Hasan設(shè)計了一種能夠進(jìn)行16,64,256和1024點FFT運算的可變點流水線FFT處理器,增強了處理器運用的靈活性.但該處理器結(jié)構(gòu)所需的中間數(shù)據(jù)及旋轉(zhuǎn)因子存儲容量較大,各級的地址控制邏輯比較復(fù)雜,運算時間較長,不適于對速度和面積要求越來越高的應(yīng)用場合.作者提出了一種實時可重配置的FFT處理器.該處理器采用小點數(shù)內(nèi)部流水和大點數(shù)二維化處理結(jié)構(gòu),通過控制各處理模塊實現(xiàn)4,16,64,256和1 024點復(fù)數(shù)FFT運算,并給出了該結(jié)構(gòu)與Hasan結(jié)構(gòu)的性能比較.
本文引用地址:http://butianyuan.cn/article/193445.htm1 可重配置FFT算法原理
N個樣本點的離散博里葉變換(DFT)表達(dá)式為
式(2)表明,計算組合數(shù)N=r1 r2點DFT等價于先求出r2組r1點的DFT,其結(jié)果乘以旋轉(zhuǎn)因子后,再計算r1組r2點的DFT.
基-4時間抽取FFT算法中,16點FFT運算可以分為兩級,第1級基本運算是4點序列的DFT.因此,如果只取16點FFT運算的第1級運算便可同時完成4點FFT運算.
2 可重配置FFT處理器的實現(xiàn)
2.1 系統(tǒng)設(shè)計
FFT處理器由數(shù)據(jù)輸入單元、固定64點FFT、流水處理單元、中間乘旋轉(zhuǎn)因子單元、4和16點FFT可變流水處理單元及數(shù)據(jù)輸出單元組成.如圖1所示.
在進(jìn)行FFT運算時,單元選擇控制邏輯根據(jù)需要變換長度N激活相應(yīng)的處理單元.
根據(jù)式(2)對1 024點輸入數(shù)據(jù)進(jìn)行FFT運算,首先數(shù)據(jù)輸入單元要按照N=rlr2=64×16完成對輸入1 024點數(shù)據(jù)的分解,然后固定64點FFT流水處理單元完成16次64點運算.運算結(jié)果分別與1024個中間旋轉(zhuǎn)因子相乘,然后乘旋轉(zhuǎn)因子單元完成對這1 024個結(jié)果的整形,并使用4點和16點可變處理單元完成64次16點變換.數(shù)據(jù)輸出單元完成對結(jié)果進(jìn)行最后整形并同時輸出1個塊浮點溢出檢測指數(shù)和1 024個數(shù)據(jù)結(jié)果.同理對于256點的FFT運算,數(shù)據(jù)輸入單元按照N=r1r2=64×4進(jìn)行分解運算即可.
2.2 地址生成
可重配置FFT處理器包括輸入數(shù)據(jù)地址產(chǎn)生單元、64點數(shù)據(jù)旋轉(zhuǎn)因子地址產(chǎn)生單元、中間乘旋轉(zhuǎn)因子地址產(chǎn)生單元、中間數(shù)據(jù)存取地址產(chǎn)生單元、4,16點FFT數(shù)據(jù)及旋轉(zhuǎn)因子地址產(chǎn)生單元和輸出數(shù)據(jù)地址產(chǎn)生單元.每個單元都由計數(shù)器和地址變換器構(gòu)成,每周期產(chǎn)生一組地址.由于采用的是Cooley-Tukey算法同址運算規(guī)則,倒序輸入正序輸出.因此針對不同長度的FFT運算,地址變換器只需要對計數(shù)器的輸出值進(jìn)行不同的變形即可.
由于要實現(xiàn)的最大運算點數(shù)為1 024,同時采用流水乒乓存儲結(jié)構(gòu),因此輸入、中間、輸出單元的地址深度為2,則這3個地址產(chǎn)生器中的計數(shù)器為11位,最高位作為乒乓選擇控制位.產(chǎn)生的各個單元地址如圖2所示.中間數(shù)據(jù)地址產(chǎn)生單元只需要生成256點和1 024點數(shù)據(jù)地址即可.中間數(shù)據(jù)存地址即為輸入數(shù)據(jù)地址.輸出數(shù)據(jù)地址只需要產(chǎn)生4,16,256和1 024點數(shù)據(jù)地址.256個旋轉(zhuǎn)因子可從1 024個旋轉(zhuǎn)因子中抽取得到.產(chǎn)生的中間旋轉(zhuǎn)因子地址如圖3所示.
評論