認(rèn)知無線電的頻譜檢測的FPGA實(shí)現(xiàn)
初步擬定硬件方案
本文引用地址:http://www.ex-cimer.com/article/269587.htm(1)整體方案框圖
本次設(shè)計使用8點(diǎn)的FFT設(shè)計,因此我們需要3級基2點(diǎn)的FFT運(yùn)算,共有4個旋轉(zhuǎn)因子需要存儲,依據(jù)項目難點(diǎn)我們主要對FFT模塊的設(shè)計進(jìn)行逐層細(xì)化:
(2)一級FFT的系統(tǒng)框圖實(shí)現(xiàn)
該框圖為一級FFT的系統(tǒng)框圖,輸入數(shù)據(jù)A對應(yīng)I信號的輸入,輸入數(shù)據(jù)B對應(yīng)Q信號的輸入,然后對其做基2點(diǎn)的FFT運(yùn)算。
(3)ROM的設(shè)計
本次設(shè)計為8點(diǎn)FFT運(yùn)算,就需要4個旋轉(zhuǎn)因子,旋轉(zhuǎn)因子的實(shí)部和虛部都采用八位二進(jìn)制數(shù)來表示,因此使用一個寬度為16,深度為4的ROM存儲器存儲旋轉(zhuǎn)因子。
(4)蝶形運(yùn)算單元的FPGA實(shí)現(xiàn)
依據(jù)蝶形運(yùn)算公式:
我們得到蝶形運(yùn)算單元框圖為:
(5)乒乓結(jié)構(gòu)的RAM示意圖
我們在FFT模塊中開辟兩個RAM數(shù)據(jù)存儲區(qū),以此組成典型的乒乓操作模式;在FFT第一級運(yùn)算中,數(shù)據(jù)從RAM1經(jīng)蝶形運(yùn)算單元計算存入RAM2,在第二次中則正好相反,以此類推…….,下圖給出了乒乓結(jié)構(gòu)的RAM示意圖。
(6)能量求和模塊
最終輸出信號為:y=x(n)*x(n)+x(n+1)*x(n+1);
(7)累加電路模塊
我們將能量計算模塊計算出的能量值通入一個長度為n的FIFO結(jié)構(gòu),每當(dāng)FIFO結(jié)構(gòu)中有一個數(shù)據(jù)量發(fā)生變化時,累加器都要進(jìn)行計算更新,這樣就做到了實(shí)時監(jiān)測該通道的頻譜占用情況。在累加器當(dāng)中,為了計算速度足夠的快,可以滿足實(shí)時性要求,我們往往設(shè)計為流水線結(jié)構(gòu)。如下圖所示:以流水線結(jié)構(gòu)實(shí)現(xiàn)的累加器
fpga相關(guān)文章:fpga是什么
評論