欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種支持復數(shù)乘法的FFT蝶形運算硬件實現(xiàn)電路的制作方法

文檔序號:11807841閱讀:475來源:國知局
一種支持復數(shù)乘法的FFT蝶形運算硬件實現(xiàn)電路的制作方法與工藝
本發(fā)明主要涉及到數(shù)字信號處理領域,特指一種支持復數(shù)乘法的FFT蝶形運算硬件實現(xiàn)電路。
背景技術
:在現(xiàn)代雷達、通信、圖像處理等領域,數(shù)字信號處理系統(tǒng)需要大量高速、高精度的實時FFT運算。目前,數(shù)字信號處理領域主要有兩種方式實現(xiàn)FFT——DSP或者FFT專用集成芯片。DSP編程實現(xiàn)方式開發(fā)時間短,但是功耗較大。在某些特殊場合,要求的信號處理速度極高,對FFT算法的性能、功耗和效率都提出更高要求,使用通用的數(shù)字信號處理器DSP芯片很難滿足上述需求。FFT專用集成芯片具有速度快、功耗低、延時短等的優(yōu)點。因此,在一些DSP芯片上集成了專用于FFT算法的硬件單元,這種芯片將相應的FFT處理算法使用定制專用邏輯實現(xiàn),無需進行編程,例如TIC55X系列DSP芯片包含一個緊耦合FFT加速器(稱為HWAFFT),通過使用加速器指令實現(xiàn)FFT加速器與C55XDSP通訊,支持32位定點格式8點到1024點的實數(shù)和復數(shù)FFT計算。蝶形運算作為FFT運算的重要組成部分,提高該模塊的效率對整個FFT處理器效率的提升大有幫助。技術實現(xiàn)要素:本發(fā)明要解決的技術問題就在于:針對現(xiàn)有技術存在的技術問題,本發(fā)明提供一種能夠降低硬件開銷、減少計算延時、提高計算精度的支持復數(shù)乘法的FFT蝶形運算硬件實現(xiàn)電路。為解決上述技術問題,本發(fā)明采用以下技術方案:一種支持復數(shù)乘法的FFT蝶形運算硬件實現(xiàn)電路,其包括:實部計算模塊,用來完成復數(shù)乘法中實部的計算和蝶形運算中X和Y的實部的計算;虛部計算模塊,用來完成復數(shù)乘法中虛部的計算和蝶形運算中X和Y的虛部的計算。作為本發(fā)明的進一步改進:所述實部計算模塊和虛部計算模塊均采用一種蝶形計算模塊,所述蝶形計算模塊包括2個乘法運算和3個加/減法運算。作為本發(fā)明的進一步改進:所述蝶形計算模塊用來執(zhí)行并實現(xiàn)如下計算:Cout=A*B+(-1)sel*C*DXout=X+A*B+(-1)sel*C*D=X+CoutYout=X-(A*B+(-1)sel*C*D)=X-Cout.]]>作為本發(fā)明的進一步改進:所述實部計算模塊的蝶形計算模塊用來執(zhí)行并實現(xiàn)如下計算:Xr′=Xr+Yr*Wr-Yi*Wi=Xr+CrYr′=Xr-(Yr*Wr-Yi*Wi)=Xr-Cr.]]>作為本發(fā)明的進一步改進:所述虛部計算模塊的蝶形計算模塊用來執(zhí)行并實現(xiàn)如下計算:Xi′=Xi+Yr*Wi+Yi*Wr=Xi+CiYi′=Xi-(Yr*Wi+Yi*Wr)=Xi-Ci.]]>作為本發(fā)明的進一步改進:所述FFT蝶形運算硬件實現(xiàn)電路中通過Sel選擇信號區(qū)分實部Sel=1和虛部Sel=0計算模塊。作為本發(fā)明的進一步改進:還包括定點乘法模塊,用來完成兩個24位定點無符號數(shù)據的乘法操作;首先通過booth編碼得到13個部分積,然后采用面積和功耗相對較優(yōu)的CSA壓縮器進行壓縮相加,每一級相加的結果進行下一級的壓縮時都要進行符號位的擴展與移位,整體分為三級流水進行壓縮。與現(xiàn)有技術相比,本發(fā)明的優(yōu)點在于:本發(fā)明的FFT蝶形運算硬件實現(xiàn)電路,為能夠支持復數(shù)乘法的FFT加速器蝶形運算部件,它采用復數(shù)乘法與蝶形運算的復用結構,從而減少了中間的規(guī)格化操作,降低了硬件開銷,減少了計算延時,提高了計算精度。附圖說明圖1是支持復數(shù)乘法的時域抽取基2-FFT蝶形運算操作示意圖。圖2是本發(fā)明在具體應用實例中所采用的蝶形計算模塊功能示意圖。圖3是本發(fā)明在具體應用實例中蝶形部件的實部和虛部計算模塊組織結構圖。圖4是本發(fā)明在具體應用實例中蝶形計算模塊結構圖。圖5是本發(fā)明在具體應用實例中采用基于Booth編碼的24*24定點乘法結構示意圖。具體實施方式以下將結合說明書附圖和具體實施例對本發(fā)明做進一步詳細說明。對于大規(guī)模FFT計算通常采用Cooly-TukeyFFT算法實現(xiàn),Cooly-TukeyFFT算法采用分而治之的思想,使用二維FFT模擬實現(xiàn)規(guī)模較大的一維FFT(N)。對于N=N1*N2點的FFT可以用N2個N1點和N1個N2點的FFT算法來實現(xiàn),迭代公式如下:X[k1N2+k2]=Σn1=0N1-1[e-j2πn1k2N(Σn2=0N2-1x[n2N1+n1]e-j2πn2k2N2)]e-j2πn1k1N1]]>其中0≤k1<N1,0≤k2<N2。它的計算步驟可以分為如下:步驟1,列方向FFT:進行N2次的N1點FFT運算,即執(zhí)行N2次如下公式:Σn2N2-1x[n2N1+n1]e-j2πn2k2N2]]>步驟2,補償旋轉因子:步驟1的結果乘以補償旋轉因子步驟3,行方向FFT:在步驟2的基礎上,進行N1次的N2點FFT運算,即執(zhí)行N1次如下公式:Σn1=0N1-1[e-j2πn1k2N(Σn2=0N2-1x[n2N1+n1]e-j2πn2k2N2)]e-j2πn1k1N1]]>步驟1和3為FFT運算,計算過程中僅包含蝶形運算,而步驟2的旋轉因子補償過程的操作為復數(shù)乘法,而且步驟1、2、3串行執(zhí)行,因此本發(fā)明設計的支持復數(shù)乘法的蝶形運算能夠復用邏輯實現(xiàn)蝶形運算和復數(shù)乘法操作,降低面積開銷。在基2FFT蝶形運算和復數(shù)乘法中,時域抽取基2-FFT蝶形運算表達式如下:X(k)′=X(k)+X(k+B)WNrX(k+B)′=X(k)-X(k+B)WNr]]>假定X=X(k)=Xr+i*Xi,Y=X(k+B)=Yr+i*Yi,X′=X(k)′=Xr′+i*Xi′,Y′=X(k+B)′=Yr′+i*Yi′,其中X、Y、W均為復數(shù),Xr、Xi、Yr、Yi、Xr′、Xi′、Yr′、Yi′、Wr、Wi分別表示這些復數(shù)的實部和虛部,則:Xr′=Xr+Yr*Wr-Yi*WiXi′=Xi+Yr*Wi+Yi*WrYr′=Xr-(Yr*Wr-Yi*Wi)Yi′=Xi-(Yr*Wi+Yi*Wr)]]>蝶形運算需要用到4個乘法分別實現(xiàn):T1=Yr*Wr、T2=Yi*Wi、T3=Yr*Wi、T4=Yi*Wr,用到6個加減法分別實現(xiàn):T5=T1-T2、T6=T3+T4、Xr′=T7=Xr+T5、Xi′=T8=Xi+T6、Yr′=T9=Xr-T5、Yi′=T10=Xi-T6。旋轉因子補償計算就是浮點復數(shù)乘法運算,實現(xiàn)C=Y*W,其中C、Y、W均為復數(shù),Cr、Ci、Yr、Yi、Wr、Wi分別表示這些復數(shù)的實部和虛部,則:Cr=Yr*Wr-Yi*WiCi=Yr*Wi+Yi*Wr]]>旋轉因子補償計算需要用到4個乘法分別實現(xiàn):T1=Yr*Wr、T2=Yi*Wi、T3=Yr*Wi、T4=Yi*Wr,用到2個加減法分別實現(xiàn):Cr=T5=T1-T2、Ci=T6=T3+T4。上述分析可知:可以定制一個含有4個乘法和6個加減法單元同時完成蝶形運算操作T1~T10和因子補償計算中的T1~T6。如圖1所示,為支持復數(shù)乘法的時域抽取基2-FFT蝶形運算數(shù)據流圖,其中操作1~操作6中的4個乘法運算和2個加法運算完成復數(shù)乘法操作,操作1~操作10中的4個乘法運算和2個加法運算完成時域抽取基2-FFT蝶形運算。從圖1可以看出,復數(shù)乘法和蝶形運算復用操作1~操作6。本發(fā)明的支持復數(shù)乘法的FFT蝶形運算硬件實現(xiàn)電路,包括實部計算模塊和虛部計算模塊,其中:實部計算模塊,用來完成復數(shù)乘法中實部的計算(即Cr=Yr*Wr-Yi*Wi)和蝶形運算中X和Y的實部的計算,即虛部計算模塊,用來完成復數(shù)乘法中虛部的計算(即Ci=Yr*Wi+Yi*Wr)和蝶形運算中X和Y的虛部的計算,即上述實部計算模塊和虛部計算模塊均采用一個蝶形計算模塊,如圖2所示,為該蝶形計算模塊的數(shù)據流圖。該蝶形計算模塊用來執(zhí)行并實現(xiàn)如下公式:Cout=A*B+(-1)sel*C*DXout=X+A*B+(-1)sel*C*D=X+CoutYout=X-(A*B+(-1)sel*C*D)=X-Cout]]>上述蝶形計算模塊由2個乘法運算和3個加/減法運算組成。如圖3所示,即為基于上述蝶形計算模塊實現(xiàn)的蝶形運算單元的示意圖。采用對蝶形計算模塊的不同實例化以實現(xiàn)實部計算模塊和虛部計算模塊通過Sel選擇信號區(qū)分實部(Sel=1)和虛部(Sel=0)計算模塊。如圖4所示,為本發(fā)明在具體應用實例中蝶形計算模塊的具體實現(xiàn)結構圖,通過如下步驟完成蝶形運算和復數(shù)乘法運算:S1:操作數(shù)分離和異常判斷處理。首先對輸入的五個IEEE-754標準的單精度浮點數(shù)據(X、A、B、C、D)的符號位(SX、SA、SB、SC、SD)、指數(shù)(EX、EA、EB、EC、ED)和尾數(shù)(MX、MA、MB、MC、MD)進行分離。同時對操作數(shù)進行異常的判斷,檢測是否出現(xiàn)NaN(無效數(shù),指數(shù)部分位最大的8’hff,尾數(shù)部分為非0的數(shù))、INF(無窮大數(shù)指數(shù)部分為最大的8’hff,尾數(shù)位部分為0)和DEN(非規(guī)格化數(shù)據,指數(shù)位為0,尾數(shù)不為0,本發(fā)明將非規(guī)格化數(shù)據視同為0)。S2:尾數(shù)乘法運算。采用基于Booth編碼的乘法器結構實現(xiàn)復數(shù)乘法中兩個尾數(shù)的定點乘法,即MAB=MA*MB,MCD=MC*MD;采用Booth編碼,將24位尾數(shù)編碼成13組,然后,經過6個(3級)4-2壓縮邏輯得到47位的sum和Carry,最后,使用48位定點加法器得到定點乘法器的結果。S3:復數(shù)乘法大小比較、對階移位和尾數(shù)加法。復數(shù)乘法(A*B+C*D)中的加法運算,首先需要比較AB與CD的大小(其中AB=(-1)SA^SB*(MA*MB)*2EA+EB,CD=(-1)SC^SD*(MC*MD)*2EC+ED),對較小的乘積的尾數(shù)進行移位對階。如果EA+EB>EC+ED或者EA+EB=EC+ED且MAB≥MCD,則Big_1=MA*MB,Small_1=MC*MD,對CD的尾數(shù)MCD左移(NSC=EA+EB-EC-ED)位,復數(shù)乘法結果符號位為STCout=SA^SB,復數(shù)乘法結果指數(shù)為ETCout=EA+EB;否則Big_1=MC*MD,Small_1=MA*MB,對AB的尾數(shù)MAB左移(NSC=EC+ED-EA-EB)位,復數(shù)乘法結果符號位為STCout=SC^SD^Sel,復數(shù)乘法結果指數(shù)為ETCout=EC+ED。然后再對移位后的尾數(shù)進行加法操作,得到復數(shù)乘法結果的尾數(shù)MTCout=Big_1+(Small_1>>NSC)。S4:復數(shù)乘法結果規(guī)格化。首先根據步驟S1的例外判讀,如果復數(shù)乘法結果為特殊值,則直接以特殊值輸出;否則,確定尾數(shù)MTCout的首0個數(shù)為NZC,然后再對尾數(shù)MTCout向右移NZC位,截取其中高24位為復數(shù)乘法尾數(shù)MCout,復數(shù)乘法指數(shù)位ECout=ETCout-NZC,復數(shù)乘法結果的符號為STCout。S5:蝶形計算大小比較、對階移位和尾數(shù)加法。在步驟S4復數(shù)乘法結果規(guī)格化過程的同時,對步驟S3計算出而未經過規(guī)格化的尾數(shù)(MTCout)和指數(shù)(ETCout)直接進行蝶形加減法計算,降低整個設計的延時、減少規(guī)格化次數(shù)、提高計算精度。類似于步驟S3的復數(shù)乘法計算,蝶形加減法計算也需要進行大小比較、對階移位和尾數(shù)加法。由于1≤Mx<2,(x=A,B,C,D),因此1≤Big_1<4、1≤Small_1<4、2≤MTCout<8。首先,根據MTCout的最高位修正MTCout和ETCout?!馦TCout的最高位為1時,表明4≤MTCout<8,MTCout向右移2位且ETCout=ETCout+2;●MTCout的最高位為0,表明2≤MTCout<4,MTCout向右移1位且ETCout=ETCout+1;比較修正后的MTCout、ETCout與X的大小,對較小項的尾數(shù)進行移位對階。如果ETCout>EX或者ETCout=EX且MTCout≥MX,則Big_2=MTCout,Small_2=MX,對X的尾數(shù)MX左移(NSB=ETCout-EX)位,蝶形計算結果X符號位為SXout=STCout,指數(shù)為ETXout=ETCout,蝶形計算結果Y符號位為SYout=~STCout,指數(shù)為ETCout=ETYout;否則Big_2=MX,Small_2=MTCout,對MTCout左移(NSB=EX-ETCout)位,蝶形計算結果X符號位為SXout=SX,指數(shù)為ETXout=EX,蝶形計算結果Y符號位為SYout=SX,指數(shù)為ETYout=EX;然后再對移位后的尾數(shù)同時進行加法和減法操作,得到蝶形運算結果的尾數(shù)MTXout=Big_2+(Small_2>>NSB)和MTYout=Big_2-(Small_2>>NSB)。S6:蝶形計算結果規(guī)格化。與步驟S4復數(shù)乘法規(guī)格化過程類似,首先根據步驟S1的例外判讀,如果蝶形計算結果為特殊值,則直接以特殊值輸出;否則,確定尾數(shù)MXCout的首0個數(shù)為NZBX,然后再對尾數(shù)MTXout向右移NZBX位,截取其中高24位為蝶形計算結果X尾數(shù)MXout,蝶形計算結果X指數(shù)位EXout=ETXout-NZBX,蝶形計算結果X的符號為STXout。同時,確定尾數(shù)MYCout的首0個數(shù)為NZBY,然后再對尾數(shù)MTYout向右移NZBY位,截取其中高24位為蝶形計算結果Y尾數(shù)MYout,蝶形計算結果Y指數(shù)位EYout=ETYout-NZBY,蝶形計算結果Y的符號為STYout。如圖5所示,為在具體應用實例中基于Booth編碼的24*24定點乘法結構示意圖。該模塊用來完成兩個24位定點無符號數(shù)據的乘法操作。首先通過booth編碼得到13個部分積,然后采用面積和功耗相對較優(yōu)的CSA壓縮器進行壓縮相加,每一級相加的結果進行下一級的壓縮時都要進行符號位的擴展與移位,整體分為三級流水進行壓縮。除第二級與第13個部分積的相加采用CSA3-2壓縮外其他均采用CSA4-2的壓縮,這樣降低壓縮級數(shù),減少定點乘法的計算延時。以上僅是本發(fā)明的優(yōu)選實施方式,本發(fā)明的保護范圍并不僅局限于上述實施例,凡屬于本發(fā)明思路下的技術方案均屬于本發(fā)明的保護范圍。應當指出,對于本
技術領域
的普通技術人員來說,在不脫離本發(fā)明原理前提下的若干改進和潤飾,應視為本發(fā)明的保護范圍。當前第1頁1 2 3 
當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
汶川县| 石嘴山市| 福泉市| 安徽省| 兴仁县| 马边| 临高县| 齐河县| 左贡县| 潼关县| 定远县| 兰州市| 南开区| 灵山县| 吴堡县| 北碚区| 富源县| 赫章县| 广饶县| 莱芜市| 花莲县| 穆棱市| 临洮县| 洞口县| 绩溪县| 合阳县| 兴文县| 花莲县| 攀枝花市| 博野县| 高碑店市| 老河口市| 西华县| 杭州市| 炎陵县| 潮州市| 吉隆县| 同心县| 庐江县| 岗巴县| 钟祥市|