基于FPGA的64點(diǎn)FFT處理器設(shè)計(jì)
不同于以往的基-4 FFT算法,這里是將輸入的64點(diǎn)數(shù)據(jù)以8位輸入數(shù)據(jù)為一組,共分成8組的方式輸入給FFT運(yùn)算單元進(jìn)行FFT運(yùn)算的。完整的FFT蝶形運(yùn)算共分6級(jí),經(jīng)歷196個(gè)循環(huán)狀態(tài)。將來(lái)自存儲(chǔ)單元的數(shù)據(jù)輸入到FFT運(yùn)算單元中,前三級(jí)是按8位1組的方法,分為8組進(jìn)行運(yùn)算;后三級(jí)是將前三級(jí)運(yùn)算所得到的中間數(shù)據(jù)送入運(yùn)算單元進(jìn)行運(yùn)算。經(jīng)過(guò)FFT運(yùn)算后,將所得到運(yùn)算結(jié)果寫入存儲(chǔ)單元中保存。結(jié)果以倒位序方式輸出,需要經(jīng)過(guò)調(diào)整位序變換成為自然順序輸出。本文引用地址:http://m.butianyuan.cn/article/191949.htm
2 FFT運(yùn)算器設(shè)計(jì)
2.1 系統(tǒng)的整體結(jié)構(gòu)
一個(gè)完整的FFT運(yùn)算單元應(yīng)該包括以下幾個(gè)組成部分:
全局控制單元包括控制器和地址產(chǎn)生單元,用于調(diào)控整個(gè)FFT運(yùn)算系統(tǒng),生成蝶形運(yùn)算單元以及其他子單元所需的地址,控制各子單元時(shí)序,保證其正常有序地工作;
蝶形運(yùn)算器單元 由蝶形運(yùn)算器和旋轉(zhuǎn)因子存儲(chǔ)單元(ROM)組成,負(fù)責(zé)將送入的輸人數(shù)據(jù)進(jìn)行蝶形運(yùn)算,是FFT運(yùn)算器的核心單元;
存儲(chǔ)寄存器單元 采用兩個(gè)RAM乒乓通信,通過(guò)通信接口單元接收總線控制信號(hào),負(fù)責(zé)存儲(chǔ)輸入數(shù)據(jù)、中間數(shù)據(jù)和運(yùn)算所得最終結(jié)果。
系統(tǒng)整體框圖如圖1所示。
3 實(shí)驗(yàn)結(jié)果驗(yàn)證
這里的FFT運(yùn)算器通過(guò)硬件描述語(yǔ)言VHDL代碼進(jìn)行編寫,在ModelSimSE PLUS 6.1f環(huán)境下完成系統(tǒng)仿真,波形仿真如圖3所示。
由波形仿真圖可以看出,地址控制單元以3位二進(jìn)制編碼定義各子單元的地址,存儲(chǔ)的數(shù)據(jù)在時(shí)序信號(hào)和地址總線單元控制下進(jìn)行FFT運(yùn)算。實(shí)驗(yàn)證明,當(dāng)外部時(shí)鐘頻率為40 MHz時(shí),可以對(duì)隨機(jī)生成的64點(diǎn)序列進(jìn)行FFT定點(diǎn)運(yùn)算,運(yùn)算時(shí)間為10μs。
4 結(jié) 語(yǔ)
這里的FFT運(yùn)算器采用定點(diǎn)數(shù)處理,當(dāng)處理浮點(diǎn)數(shù)時(shí),系統(tǒng)存在處理異常、數(shù)據(jù)溢出等問(wèn)題。但是由于可以迅速處理多點(diǎn)數(shù)信號(hào),因此在數(shù)字圖像處理、實(shí)時(shí)通信系統(tǒng)的調(diào)試和解調(diào)等方面具有一定的實(shí)際意義,達(dá)到了使用FPGA實(shí)現(xiàn)DSP算法的目的。
本文在以下方面有所創(chuàng)新:
(1)輸入的64位數(shù)據(jù)以8位共8組的方式并行輸入,將FFT運(yùn)算流程分為6級(jí),整個(gè)FFT運(yùn)算過(guò)程清晰,結(jié)構(gòu)合理,提高了運(yùn)行效率。
(2)使用2塊雙口RAM作為存儲(chǔ)器,采用“乒乓操作”,在一個(gè)時(shí)鐘周期內(nèi)保證數(shù)據(jù)傳遞的單向性,減少了數(shù)據(jù)傳輸?shù)娜哂啵岣吡司取?br /> (3)將整個(gè)FFT運(yùn)算器進(jìn)行模塊化設(shè)計(jì),在控制模塊的調(diào)配下,各個(gè)子模塊準(zhǔn)確工作,保證了運(yùn)算的可靠性。
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開(kāi)關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論