FPGA在數(shù)字信號處理系統(tǒng)方面的應(yīng)用_第1頁
FPGA在數(shù)字信號處理系統(tǒng)方面的應(yīng)用_第2頁
FPGA在數(shù)字信號處理系統(tǒng)方面的應(yīng)用_第3頁
FPGA在數(shù)字信號處理系統(tǒng)方面的應(yīng)用_第4頁
FPGA在數(shù)字信號處理系統(tǒng)方面的應(yīng)用_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 1、課題簡介、課題簡介2、課題總體設(shè)計思想、課題總體設(shè)計思想3、課題各模塊的實現(xiàn)、課題各模塊的實現(xiàn)課題簡介課題簡介 本課題旨在研究用FPGA實現(xiàn)FFT算法,重點設(shè)計實現(xiàn)了FFT算法中的蝶形處理單元,并采用高效乘法器算法設(shè)計實現(xiàn)了蝶形處理單元中的旋轉(zhuǎn)因子乘法器。 課題的實現(xiàn)方案采用基2 FFT算法以及單元結(jié)構(gòu)的設(shè)計思路,用VHDL語言完成了系統(tǒng)設(shè)計描述,中間數(shù)據(jù)緩存單元采用雙口RAM,減少了訪問RAM的時鐘消耗。在Quartus 這一軟件環(huán)境下,經(jīng)過編譯、綜合和下載,給出了仿真測試的結(jié)果。理論和仿真分析論證了該方案的有效性,從而證明了用FPGA實現(xiàn)高速數(shù)字信號處理的可行性。課題總體設(shè)計思想課題

2、總體設(shè)計思想FFT處理器的實現(xiàn)框圖:課題總體設(shè)計思想課題總體設(shè)計思想FFT的硬件實現(xiàn): 對于按時間抽取的FFT,基本的蝶形運算如下: 其中A、B表示輸入的復(fù)數(shù)數(shù)據(jù),C、D表示運算結(jié)果, 為蝶形系數(shù)??芍?,基-2 FFT蝶形處理器的實現(xiàn)需要一個復(fù)數(shù)加法器、一個復(fù)數(shù)減法器和一個旋轉(zhuǎn)因子乘法器。kNkNBWADBWAC課題總體設(shè)計思想課題總體設(shè)計思想蝶形運算單元的實現(xiàn)框圖: 這里蝶形運算單元采用這里蝶形運算單元采用CycloneCyclone系列器件進(jìn)系列器件進(jìn)行仿真。其中,操作數(shù)行仿真。其中,操作數(shù)A A、B B、C C、D D存放在存放在RAMRAM中,中,旋轉(zhuǎn)因子存放在旋轉(zhuǎn)因子存放在ROMRO

3、M中。中。課題各模塊的實現(xiàn)課題各模塊的實現(xiàn)1、旋轉(zhuǎn)因子乘法器的實現(xiàn) 旋轉(zhuǎn)因子的復(fù)數(shù)乘法通常由旋轉(zhuǎn)因子的復(fù)數(shù)乘法通常由4 4次實數(shù)乘法和次實數(shù)乘法和6 6次實次實數(shù)加減法運算實現(xiàn),但經(jīng)過運算的簡化,可以只用數(shù)加減法運算實現(xiàn),但經(jīng)過運算的簡化,可以只用3 3次實數(shù)乘法和次實數(shù)乘法和3 3次實數(shù)加減法運算實現(xiàn)復(fù)數(shù)乘法器。次實數(shù)加減法運算實現(xiàn)復(fù)數(shù)乘法器。 高效復(fù)數(shù)乘法器的具體算法如下所述:高效復(fù)數(shù)乘法器的具體算法如下所述: 設(shè)復(fù)數(shù)旋轉(zhuǎn)因子乘法設(shè)復(fù)數(shù)旋轉(zhuǎn)因子乘法R+jI=(X+jY)(C+jS)R+jI=(X+jY)(C+jS),因為,因為C C和和S S可以預(yù)先計算的,并可以儲存在一個表中。所以我可以

4、預(yù)先計算的,并可以儲存在一個表中。所以我們可以儲存下面的三個系數(shù):們可以儲存下面的三個系數(shù): C C、C+SC+S、C-SC-S課題各模塊的實現(xiàn)課題各模塊的實現(xiàn) 有了這有了這3 3個預(yù)先計算的因子,我們可以首先計算個預(yù)先計算的因子,我們可以首先計算E=X-YE=X-Y和和Z=CZ=C* *E=CE=C* *(X-Y)(X-Y),然后用,然后用 R=(C-S) R=(C-S)* *Y+Z Y+Z I=(C+S) I=(C+S)* *X-ZX-Z 計算最后的乘積。計算最后的乘積。 這種算法使用了這種算法使用了3 3次乘法、次乘法、1 1次加法和次加法和2 2次減法,其次減法,其代價是多使用了一個表

5、。由以上高效復(fù)數(shù)乘法器原理,代價是多使用了一個表。由以上高效復(fù)數(shù)乘法器原理,可以設(shè)計實現(xiàn)旋轉(zhuǎn)因子復(fù)數(shù)乘法器??梢栽O(shè)計實現(xiàn)旋轉(zhuǎn)因子復(fù)數(shù)乘法器。課題各模塊的實現(xiàn)課題各模塊的實現(xiàn)對應(yīng)的硬件的輸入輸出框圖如下圖所示: 其中,旋轉(zhuǎn)因子乘法器是由其中,旋轉(zhuǎn)因子乘法器是由3 3個個lpm_multlpm_mult組件實組件實例和例和3 3個個lpm_add_sublpm_add_sub模塊來實現(xiàn)的。模塊來實現(xiàn)的。課題各模塊的實現(xiàn)課題各模塊的實現(xiàn) 假如有假如有8 8位二進(jìn)制輸入數(shù)據(jù),系數(shù)就應(yīng)該有位二進(jìn)制輸入數(shù)據(jù),系數(shù)就應(yīng)該有8 8位,位,再加上符號,并且乘以再加上符號,并且乘以 時,量化成時,量化成8 8位,

6、位,旋轉(zhuǎn)因子就變成了旋轉(zhuǎn)因子就變成了 。我們給定。我們給定輸入值為輸入值為50+45j50+45j,從理論上所計算的結(jié)果應(yīng)為:,從理論上所計算的結(jié)果應(yīng)為:(50+45j)(50+45j)* * =(50+45j)(121+j39) =(50+45j)(121+j39)256256 =(4295+j7395) =(4295+j7395)256=16+j28256=16+j28 由于使用高效乘法器算法計算復(fù)數(shù)乘法,由于使用高效乘法器算法計算復(fù)數(shù)乘法,3 3個因個因子分別為:子分別為:C=12lC=12l,C+S=160C+S=160,C-S=82C-S=82209/jjee391212569/je

7、jSCj209/jjee課題各模塊的實現(xiàn)課題各模塊的實現(xiàn) 輸入值為50+45j,旋轉(zhuǎn)因子 時的仿真波形如下圖所示:391212569/jejSCj課題各模塊的實現(xiàn)課題各模塊的實現(xiàn) 其中其中clk clk 是時鐘信號,是時鐘信號,x_in x_in 和和y_iny_in分別是輸入數(shù)分別是輸入數(shù)據(jù)的實部與虛部,這里輸入為據(jù)的實部與虛部,這里輸入為50+45j50+45j,所以所加輸入,所以所加輸入激勵為激勵為x_in=50 x_in=50、y_in=45y_in=45。c_inc_in、cas_incas_in、css_in css_in 就就是所計算得出的因子是所計算得出的因子C C、C+SC+

8、S、C-SC-S,這里,這里C=121C=121、C+S=160C+S=160、C-S=82C-S=82,仿真得到的輸出分別為,仿真得到的輸出分別為r_out=16r_out=16、i_out=28i_out=28。 這和前面理論上算得的輸出結(jié)果是完全相符的,這和前面理論上算得的輸出結(jié)果是完全相符的,從而證明了基于高效乘法器所設(shè)計的旋轉(zhuǎn)因子復(fù)數(shù)乘從而證明了基于高效乘法器所設(shè)計的旋轉(zhuǎn)因子復(fù)數(shù)乘法器的正確性。法器的正確性。 課題各模塊的實現(xiàn)課題各模塊的實現(xiàn)2、蝶形運算單元的實現(xiàn)對應(yīng)硬件實現(xiàn)的輸入輸出框圖: 其中該運算單元由上面所設(shè)計的旋轉(zhuǎn)因子乘法器和其中該運算單元由上面所設(shè)計的旋轉(zhuǎn)因子乘法器和Qu

9、artus IIQuartus II中的中的lpm_add_sublpm_add_sub模塊設(shè)計實現(xiàn)。模塊設(shè)計實現(xiàn)。課題各模塊的實現(xiàn)課題各模塊的實現(xiàn) 現(xiàn)在計算一下輸入分別為A=20+30j、B=50+45j,旋轉(zhuǎn)因子C+jS=256* =121+j39時蝶形運算理論上得到的計算結(jié)果:A+B =(20+30j)+(50+45j)(12l+j39)256 =(20+30j)+(4295+7395j)256 =(20+30j)+(16+28j)=36+58jA-B =(20+30j)-(50+45j)(121+j39)256 =(20+30j)-(4295+7395j)256 =(20+30j)-(

10、16+28j)=4+2j9 /je9 /je9 /je課題各模塊的實現(xiàn)課題各模塊的實現(xiàn) 對輸入值為A=20+30j、B=50+45j、旋轉(zhuǎn)因子C+jS=256* =121+j39時進(jìn)行仿真,可得到仿真波形如下:9/je課題各模塊的實現(xiàn)課題各模塊的實現(xiàn) 其中其中clk clk 為時鐘信號,為時鐘信號,Are_in Are_in 和和Aim_inAim_in是輸入是輸入A=20+30jA=20+30j的實部與虛部,即輸入激勵的實部與虛部,即輸入激勵A(yù)re_in=20Are_in=20、Aim_in=30Aim_in=30;Bre_in Bre_in 和和Bim_inBim_in是輸入是輸入B=50

11、+45jB=50+45j的實部的實部與虛部,即輸入激勵與虛部,即輸入激勵Bre_in=50Bre_in=50、Bim_in=45Bim_in=45;c_inc_in、cas_incas_in、css_incss_in是計算得出的是計算得出的C C、C+SC+S、C-SC-S,這里,這里C=121C=121、C+S=160C+S=160、C-S=82C-S=82;在;在Quartus IIQuartus II中仿真得到中仿真得到的輸出分別為的輸出分別為Dre_out =36Dre_out =36、Dim_out=58Dim_out=58、 Ere_out=4 Ere_out=4、 Eim_out=2Eim_out=2。 這和前面理論上計算得到的結(jié)果是完全相符的,這和前面理論上計算得到的結(jié)果是完全相符的,從而說明基于從而說明基于VHDLVHDL語言設(shè)計的蝶形處理單元的正確性。語言設(shè)計的蝶形處理單元的正確性。課題各模塊的實現(xiàn)課題各模塊

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論