本發(fā)明是有關(guān)于一種快速傅立葉轉(zhuǎn)換處理器,且特別是有關(guān)于一種非流水線式快速傅立葉轉(zhuǎn)換處理器及其運算控制方法。
背景技術(shù):
由于具有傳輸效率或頻譜效率高、抗多徑干擾能力強、信號通道估計性能良好、適于移動接收等優(yōu)勢,地面數(shù)字多媒體/電視廣播系統(tǒng)(dtmb)逐漸成為中國的數(shù)字多媒體/電視傳輸標(biāo)準(zhǔn)。并且,3780點傅立葉轉(zhuǎn)換(fft)和逆傅立葉轉(zhuǎn)換(ifft)模塊已成為中國地面數(shù)字多媒體/電視廣播系統(tǒng)的重要模塊之一。由于上述模塊無法直接利用成熟的基2(base-2)和基4(base-4)等演算法進(jìn)行轉(zhuǎn)換,因此3780點傅立葉轉(zhuǎn)換和逆傅立葉轉(zhuǎn)換模塊需要一個具有好的計算效率和合理的硬件資源的演算法和硬件電路實現(xiàn)方法。
技術(shù)實現(xiàn)要素:
本發(fā)明提供一種非流水線式快速傅立葉轉(zhuǎn)換處理器及其運算控制方法,非流水線式快速傅立葉轉(zhuǎn)換處理器可降低的硬件成本。
本發(fā)明的非流水線式快速傅立葉轉(zhuǎn)換處理器,包括一控制邏輯電路、一第一處理核心及一第二處理核心。第一處理核心耦接控制邏輯電路。第二處理核心耦接控制邏輯電路及第一處理核心。控制邏輯電路分別提供一第一控制指令以及一第二控制指令至第一處理核心及第二處理核心。第一處理核心接收多個同相運算數(shù)據(jù)及來自第二處理核心之多個正交中間數(shù)據(jù),且受控于第一控制指令以依據(jù)這些同相運算數(shù)據(jù)及這些正交中間數(shù)據(jù)依序進(jìn)行3點、4點、5點、7點及9點快速傅立葉轉(zhuǎn)換,并且依序提供多個同相中間數(shù)據(jù)及多個同相轉(zhuǎn)換數(shù)據(jù)。第二處理核心接收多個正交運算數(shù)據(jù)及這些同相中間數(shù)據(jù),且受控于第二控制指令以依據(jù)這些正交運算數(shù)據(jù)及這些同相中間數(shù)據(jù)進(jìn)行3點、4點、5點、7點及9點快速傅立葉轉(zhuǎn)換,并且依序提供這些正交中間數(shù)據(jù)及多個正交轉(zhuǎn)換數(shù)據(jù)。
本發(fā)明的非流水線式快速傅立葉轉(zhuǎn)換處理器的運算控制方法,包括下列步驟。透過一控制邏輯電路分別提供一第一控制指令以及一第二控制命令至一第一處理核心及一第二處理核心。透過第一控制指令控制第一處理核心,且第一處理核心依據(jù)多個同相運算數(shù)據(jù)及來自第二處理核心的多個正交中間數(shù)據(jù)依序進(jìn)行3點、4點、5點、7點及9點快速傅立葉轉(zhuǎn)換,以依序提供多個同相中間數(shù)據(jù)及多個同相轉(zhuǎn)換數(shù)據(jù)。透過第二控制指令控制第二處理核心,且第二處理核心依據(jù)多個正交運算數(shù)據(jù)及這些同相中間數(shù)據(jù)進(jìn)行3點、4點、5點、7點及9點快速傅立葉轉(zhuǎn)換,且依序提供這些正交中間數(shù)據(jù)及多個正交轉(zhuǎn)換數(shù)據(jù)。
基于上述,由于非流水線式快速傅立葉轉(zhuǎn)換處理器不需要緩存中間結(jié)果,本發(fā)明非流水線式快速傅立葉轉(zhuǎn)換處理器及其運算控制方法,可減少大量的存儲器使用。并且,本發(fā)明的第一處理核心及第二處理核心是完全重復(fù)使用,亦即第一處理核心及第二處理核心都可以進(jìn)行3點、4點、5點、7點及9點快速傅立葉轉(zhuǎn)換,因此可節(jié)省電路的邏輯門數(shù)目。
為讓本發(fā)明的上述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合所附圖式作詳細(xì)說明如下。
附圖說明
圖1為依據(jù)本發(fā)明一實施例的非流水線式快速傅立葉轉(zhuǎn)換處理器的系統(tǒng)示意圖。
圖2為依據(jù)本發(fā)明一實施例的第一處理核心及第二處理核心的系統(tǒng)示意圖。
圖3為依據(jù)本發(fā)明一實施例的第一處理核心執(zhí)行同相運算數(shù)據(jù)的5點快速傅立葉轉(zhuǎn)換的運算控制時序示意圖。
圖4為依據(jù)本發(fā)明一實施例的第二處理核心執(zhí)行正交運算數(shù)據(jù)的5點快速傅立葉轉(zhuǎn)換的運算控制時序示意圖。
圖5為依據(jù)本發(fā)明一實施例的非流水線式快速傅立葉轉(zhuǎn)換處理器的運算控制方法的流程圖。
附圖標(biāo)記說明
100:非流水線式快速傅立葉轉(zhuǎn)換處理器
110:狀態(tài)主控電路
120:輸入輸出控制電路
130:儲存單元
140:地址映射電路
150:第一緩存電路
160:第一處理核心
170:第二處理核心
180:控制邏輯電路
190:第二緩存電路
210:第一加法器陣列
220:第一乘法器陣列
230:第一寄存器組
240:第二加法器陣列
250:第二乘法器陣列
260:第二寄存器組
a11、a21:第一加法器
a11、a21:第一相加結(jié)果
a12、a22:第二加法器
a12、a22:第二相加結(jié)果
a13、a23:第三加法器
a13、a23:第三相加結(jié)果
a14、a24:第四加法器
a14、a24:第四相加結(jié)果
a15、a25:第五相加結(jié)果
a16、a26:第六相加結(jié)果
a17、b27:第七相加結(jié)果
a18、a28:第八相加結(jié)果
b11、b21:第一相減結(jié)果
b12、b22:第二相減結(jié)果
b13、b23:第三相減結(jié)果
b14、b24:第四相減結(jié)果
b15、b25:第五相減結(jié)果
b16、b26:第六相減結(jié)果
b17、b27:第七相減結(jié)果
b18、b28:第八相減結(jié)果
b19、b29:第九相減結(jié)果
cm1:第一控制指令
cm2:第二控制指令
d1~d3780:輸入數(shù)據(jù)
dib:同相中間數(shù)據(jù)
doi:同相運算數(shù)據(jù)
doq:正交運算數(shù)據(jù)
dqb:正交中間數(shù)據(jù)
dti:同相轉(zhuǎn)換數(shù)據(jù)
dtq:正交轉(zhuǎn)換數(shù)據(jù)
i1、q1:第一運算數(shù)據(jù)
i2、q2:第二運算數(shù)據(jù)
i3、q3:第三運算數(shù)據(jù)
i4、q4:第四運算數(shù)據(jù)
i5、q5:第五運算數(shù)據(jù)
ib1:第一同相中間數(shù)據(jù)
ib2:第二同相中間數(shù)據(jù)
it1:第一同相轉(zhuǎn)換數(shù)據(jù)
it2:第二同相轉(zhuǎn)換數(shù)據(jù)
it3:第三同相轉(zhuǎn)換數(shù)據(jù)
it4:第四同相轉(zhuǎn)換數(shù)據(jù)
it5:第五同相轉(zhuǎn)換數(shù)據(jù)
m11、m21:第一相乘結(jié)果
m11、m21:第一乘法器
m12、m22:第二相乘結(jié)果
m12、m22:第二乘法器
m13、m23:第三相乘結(jié)果
m13、m23:第三乘法器
m14、m24:第四相乘結(jié)果
m15、m25:第五相乘結(jié)果
qb1:第一正交中間數(shù)據(jù)
qb2:第二正交中間數(shù)據(jù)
qt1:第一正交轉(zhuǎn)換數(shù)據(jù)
qt2:第二正交轉(zhuǎn)換數(shù)據(jù)
qt3:第三正交轉(zhuǎn)換數(shù)據(jù)
qt4:第四正交轉(zhuǎn)換數(shù)據(jù)
qt5:第五正交轉(zhuǎn)換數(shù)據(jù)
r11、r21:第一寄存器
r12、r22:第二寄存器
r13、r23:第三寄存器
r14、r24:第四寄存器
r15、r25:第五寄存器
r16、r26:第六寄存器
步驟s510、s520、s530:
具體實施方式
圖1為依據(jù)本發(fā)明一實施例的非流水線式快速傅立葉轉(zhuǎn)換處理器的系統(tǒng)示意圖。請參照圖1,在本實施例中,非流水線式快速傅立葉轉(zhuǎn)換處理器100包括狀態(tài)主控電路110、輸入輸出控制電路120、儲存單元130、地址映射電路140、第一緩存電路150、第一處理核心160、第二處理核心170、控制邏輯電路180及第二緩存電路190。
狀態(tài)主控電路110耦接輸入輸出控制電路120及地址映射電路140,以控制輸入輸出控制電路120及地址映射電路140的數(shù)據(jù)讀取及數(shù)據(jù)傳送的動作。輸入輸出控制電路120耦接儲存單元130及狀態(tài)主控電路110,并且接收3780點輸入數(shù)據(jù)d1~d3780,以受控于狀態(tài)主控電路110儲存或讀取3780點輸入數(shù)據(jù)d1~d3780于儲存單元130。地址映射電路140耦接儲存單元130及狀態(tài)主控電路110,受控于狀態(tài)主控電路110讀取儲存單元130,以提供同相運算數(shù)據(jù)doi及正交運算數(shù)據(jù)doq,進(jìn)而儲存同相轉(zhuǎn)換數(shù)據(jù)dti及正交轉(zhuǎn)換數(shù)據(jù)dtq于儲存單元130。
第一緩存電路150耦接地址映射電路140、第一處理核心160及第二處理核心170,以緩存同相運算數(shù)據(jù)doi及正交運算數(shù)據(jù)doq。第一處理核心160耦接第一緩存電路150、第二處理核心170及控制邏輯電路180,以接收來自第一緩存電路150的同相運算數(shù)據(jù)doi、來自第二處理核心170之多個正交中間數(shù)據(jù)dqb及控制邏輯電路180提供的第一控制指令cm1。第二處理核心170耦接第一緩存電路150、第一處理核心160及控制邏輯電路180,以接收來自第一緩存電路150的正交運算數(shù)據(jù)doq、來自第一處理核心160之多個同相中間數(shù)據(jù)dib及控制邏輯電路180提供的。
在本實施例中,是利用質(zhì)數(shù)因數(shù)演算法(primefactoralgorithm,pfa)將3780點(對應(yīng)3780點輸入數(shù)據(jù)d1~d3780)分解成35點和108點,再分別將35點分解成5點和7點;108點分解成4點和27點,最后將27點分解成9點和3點。換言之,透過質(zhì)數(shù)因數(shù)演算法,第一處理核心160及第二處理核心170執(zhí)行3點、4點、5點、7點及9點快速傅立葉轉(zhuǎn)換就可以轉(zhuǎn)換完3780點輸入數(shù)據(jù)d1~d3780。其中,3、4、5及7為互質(zhì),因此不需要旋轉(zhuǎn)因數(shù),但是3及9不互質(zhì),因此需要27個(亦即9×3)旋轉(zhuǎn)因數(shù)。
因此,第一處理核心160會受控于第一控制指令cm1以依據(jù)同相運算數(shù)據(jù)doi及正交中間數(shù)據(jù)dqb依序進(jìn)行3點、4點、5點、7點及9點快速傅立葉轉(zhuǎn)換,并且依序提供多個同相中間數(shù)據(jù)dib及多個同相轉(zhuǎn)換數(shù)據(jù)dti;同樣地,第二處理核心170也會受控于第二控制指令cm2以依據(jù)正交運算數(shù)據(jù)doq及同相中間數(shù)據(jù)dib進(jìn)行3點、4點、5點、7點及9點快速傅立葉轉(zhuǎn)換,并且依序提供正交中間數(shù)據(jù)dqb及多個正交轉(zhuǎn)換數(shù)據(jù)dtq。其中,第一處理核心160及第二處理核心170可利用winogradsmall-n算法進(jìn)行3點、4點、5點、7點及9點快速傅立葉轉(zhuǎn)換。
第二緩存電路190耦接地址映射電路140、第一處理核心160及第二處理核心170,以緩存同相轉(zhuǎn)換數(shù)據(jù)dti及正交轉(zhuǎn)換數(shù)據(jù)dtq。
依據(jù)上述,由于非流水線式快速傅立葉轉(zhuǎn)換處理器100不需要緩存中間結(jié)果,可減少大量的存儲器使用。并且,本發(fā)明的第一處理核心160及第二處理核心170是完全重復(fù)使用,亦即第一處理核心160及第二處理核心170都可以進(jìn)行3點、4點、5點、7點及9點快速傅立葉轉(zhuǎn)換,因此可節(jié)省非流水線式快速傅立葉轉(zhuǎn)換處理器100的邏輯門數(shù)目。
圖2為依據(jù)本發(fā)明一實施例的第一處理核心及第二處理核心的系統(tǒng)示意圖。請參照圖1及圖2,在本實施例中,第一處理核心160包括第一加法器陣列210、第一乘法 器陣列220及第一寄存器組230。第一寄存器組230耦接控制邏輯電路180,且受控于第一控制指令cm1依序提供同相中間數(shù)據(jù)dib至第二處理核心170及輸出同相轉(zhuǎn)換數(shù)據(jù)dti。
第一加法器陣列210耦接控制邏輯電路180及第一寄存器組230,且接收同相運算數(shù)據(jù)doi及正交中間數(shù)據(jù)dqb。第一加法器陣列受控于第一控制指令cm1對同相運算數(shù)據(jù)doi、正交中間數(shù)據(jù)dqb及第一寄存器組230的數(shù)據(jù)進(jìn)行加法運算,并且將相加結(jié)果儲存于第一寄存器組230中。第一乘法器陣列220耦接控制邏輯電路180及第一寄存器組230,且受控于第一控制指令cm1對第一寄存器230的數(shù)據(jù)進(jìn)行乘法運算,并且將相乘結(jié)果儲存于第一寄存器組230中。
第二處理核心170包括第二加法器陣列240、第二乘法器陣列250及第二寄存器組260。第二寄存器組260耦接控制邏輯電路180,且受控于第二控制指令cm2依序提供正交中間數(shù)據(jù)dqb至第一處理核心160及輸出正交轉(zhuǎn)換數(shù)據(jù)dtq。第二加法器陣列240耦接控制邏輯電路180及第二寄存器組260,且接收正交運算數(shù)據(jù)doq及同相中間數(shù)據(jù)dib。第二加法器陣列240受控于第二控制指令cm2對正交運算數(shù)據(jù)doq、同相中間數(shù)據(jù)dib及第二寄存器260的數(shù)據(jù)進(jìn)行加法運算,并且將相加結(jié)果儲存于第二寄存器組260中。
第二乘法器陣列250耦接控制邏輯電路180及第二寄存器組260,且受控于第二控制指令cm2對第二寄存器260的數(shù)據(jù)進(jìn)行乘法運算,并且將相乘結(jié)果儲存于第二寄存器組260中。
圖3為依據(jù)本發(fā)明一實施例的第一處理核心執(zhí)行同相運算數(shù)據(jù)的5點快速傅立葉轉(zhuǎn)換的運算控制時序示意圖。請參照圖2及圖3,在本實施例中,每一行(row)代表一個資源,每一列(column)代表一個運算時脈期間,每一列的運算及儲存動作則對應(yīng)一個第一控制指令cm1,并且第一處理核心160執(zhí)行同相運算數(shù)據(jù)doi的5點快速傅立葉轉(zhuǎn)換。
同相運算數(shù)據(jù)doi包括第一運算數(shù)據(jù)i1、第二運算數(shù)據(jù)i2、第三運算數(shù)據(jù)i3、第四運算數(shù)據(jù)i4及第五運算數(shù)據(jù)i5,正交中間數(shù)據(jù)dqb包括第一正交中間數(shù)據(jù)qb1及第二正交中間數(shù)據(jù)qb2,第一加法器陣列210包括第一加法器a11、第二加法器a12、第三加法器a13及第四加法器a14,第一乘法器陣列220包括第一乘法器m11、第二乘法器m12、第三乘法器m13,第一寄存器組230包括第一寄存器r11、第二寄存器r12、第三寄存器r13、第四寄存器r14、第五寄存器r15及第六寄存器r16。
在第一運算時脈期間(標(biāo)記為“0”),第一加法器a11將第二運算數(shù)據(jù)i2與第五運算數(shù)據(jù)i5的第一相加結(jié)果a11儲存于第一寄存器r11,第二加法器a12將第二運算數(shù)據(jù)i2減去第五運算數(shù)據(jù)i5后的第一相減結(jié)果b11儲存于第二寄存器r12,第三加法器a13將第三運算數(shù)據(jù)i3與第四數(shù)據(jù)i4的第二相加結(jié)果a12儲存于第三寄存器r13,第四加法器a14將第三運算數(shù)據(jù)i3減去第四數(shù)據(jù)i4后的第二相減結(jié)果b12儲存于第四寄存器r14。
在第二運算時脈期間(標(biāo)記為“1”),第一加法器a11將第二寄存器r12的第一相減結(jié)果b11與第四寄存器r14的第二相減結(jié)果b12的第三相加結(jié)果a13儲存于第一寄存器r11,第二加法器a12將第一寄存器r11的第一相加結(jié)果a11減去第三寄存器r13的第二相加結(jié)果a12后的第三相減結(jié)果b13儲存于第二寄存器r12,第三加法器a13將第一寄存器r11的第一相加結(jié)果a11與第三寄存器r13的第二相加結(jié)果a12的第四相加結(jié)果a14儲存于第三寄存器r13,第一乘法器m11將第二寄存器r12的第一相減結(jié)果b11乘以786的第一相乘結(jié)果m11儲存于第四寄存器r14,第二乘法器m12將第四寄存器r14的第二相減結(jié)果b12乘以186的第二相乘結(jié)果m12儲存于第五寄存器r15。
在第三運算時脈期間(標(biāo)記為“2”),第一加法器a11將第一運算數(shù)據(jù)i1與第三寄存器r13的第四相加結(jié)果a14的第五相加結(jié)果a15儲存于第一寄存器r11,第一乘法器m11將第一寄存器r11的第三相加結(jié)果a13乘以486的第三相乘結(jié)果m13儲存于第二寄存器r12,第二乘法器m12將第二寄存器r12的第三相減結(jié)果b13乘以286的第四相乘結(jié)果m14儲存于第三寄存器r13,第三乘法器m13將第三寄存器r13的第四相加結(jié)果a14乘以128的第五相乘結(jié)果m15儲存于第六寄存器r16。
在第四運算時脈期間(標(biāo)記為“3”),第一加法器a11將第一運算數(shù)據(jù)i1減去第六寄存器r16的第五相乘結(jié)果m15后的第四相減結(jié)果b14儲存于第二寄存器r12,第二加法器a12將第二寄存器r12的第三相乘結(jié)果m13減去第五寄存器r15的第二相乘結(jié)果m12后的第五相減結(jié)果b15儲存于第四寄存器r14,第三加法器a13將第四寄存器r14的第一相乘結(jié)果m11減去第二寄存器r12的第三相乘結(jié)果m13的第六相減結(jié)果b16儲存于第五寄存器r15。其中,第五相減結(jié)果b15及第六相減結(jié)果b16被提供以作為同相中間數(shù)據(jù)qib的第一同相中間數(shù)據(jù)ib1及第二同相中間數(shù)據(jù)ib2。
在第五運算時脈期間(標(biāo)記為“4”),第一加法器a11將第二寄存器r12的第四相減結(jié)果b14與第三寄存器r13的第四相乘結(jié)果m14的第六相加結(jié)果a16儲存于第二寄 存器r12,第二加法器a12將第二寄存器r12的第四相減結(jié)果b14減去第三寄存器r13的第四相乘結(jié)果m14后的第七相減結(jié)果b17儲存于第三寄存器r13。
在第六運算時脈期間(標(biāo)記為“5”),第一加法器a11將第二寄存器r12的第六相加結(jié)果a16與第一正交中間數(shù)據(jù)qb1的第七相加結(jié)果a17儲存于第二寄存器r12,第二加法器a12將第三寄存器r13的第七相減結(jié)果b17與第二正交中間數(shù)據(jù)qb2的第八相加結(jié)果a18儲存于第三寄存器r13,第三加法器a13將第三寄存器r13的第七相減結(jié)果b17減去第二正交中間數(shù)據(jù)qb2后的第八相減結(jié)果b18儲存于第四寄存器r14,第四加法器a14將第二寄存器r12的第六相加結(jié)果a16減去第一正交中間數(shù)據(jù)qb1后的第九相減結(jié)果b19儲存于第四寄存器r14。
其中,在第六運算時脈期間后,第五相加結(jié)果a15、第七相加結(jié)果a17、第八相加結(jié)果a18、第八相減結(jié)果b18及九相減結(jié)果b19被提供以作為同相轉(zhuǎn)換數(shù)據(jù)dti中的第一同相轉(zhuǎn)換數(shù)據(jù)it1、第二同相轉(zhuǎn)換數(shù)據(jù)it2、第三同相轉(zhuǎn)換數(shù)據(jù)it3、第四同相轉(zhuǎn)換數(shù)據(jù)it4及第五同相轉(zhuǎn)換數(shù)據(jù)it5。并且,第一運算時脈期間(標(biāo)記為“0”)、第二運算時脈期間(標(biāo)記為“1”)、第三運算時脈期間(標(biāo)記為“2”)、第四運算時脈期間(標(biāo)記為“3”)、第五運算時脈期間(標(biāo)記為“4”)、第六運算時脈期間(標(biāo)記為“5”)為依序排列。
圖4為依據(jù)本發(fā)明一實施例的第二處理核心執(zhí)行正交運算數(shù)據(jù)的5點快速傅立葉轉(zhuǎn)換的運算控制時序示意圖。請參照圖2至圖4,在本實施例中,每一行(row)代表一個資源,每一列(column)代表一個運算時脈期間,每一列的運算及儲存動作則對應(yīng)一個第二控制指令cm2,并且第二處理核心170執(zhí)行正交運算數(shù)據(jù)doq的5點快速傅立葉轉(zhuǎn)換。
正交運算數(shù)據(jù)doq包括第一運算數(shù)據(jù)q1、第二運算數(shù)據(jù)q2、第三運算數(shù)據(jù)q3、第四運算數(shù)據(jù)q4及第五運算數(shù)據(jù)q5,同相中間數(shù)據(jù)dib包括第一同相中間數(shù)據(jù)ib1及第二同相中間數(shù)據(jù)ib2,第一加法器陣列210包括第一加法器a21、第二加法器a22、第三加法器a23及第四加法器a24,第一乘法器陣列220包括第一乘法器m21、第二乘法器m22、第三乘法器m23,第一寄存器組230包括第一寄存器r21、第二寄存器r22、第三寄存器r23、第四寄存器r24、第五寄存器r25及第六寄存器r26。
在第一運算時脈期間(標(biāo)記為“0”),第一加法器a21將第二運算數(shù)據(jù)q2與第五運算數(shù)據(jù)q5的第一相加結(jié)果a21儲存于第一寄存器r21,第二加法器a22將第二運算數(shù)據(jù)q2減去第五運算數(shù)據(jù)q5后的第一相減結(jié)果b21儲存于第二寄存器r22,第三 加法器a23將第三運算數(shù)據(jù)q3與第四數(shù)據(jù)q4的第二相加結(jié)果a22儲存于第三寄存器r23,第四加法器a24將第三運算數(shù)據(jù)q3減去第四數(shù)據(jù)q4后的第二相減結(jié)果b22儲存于第四寄存器r24。
在第二運算時脈期間(標(biāo)記為“1”),第一加法器a21將第二寄存器r22的第一相減結(jié)果b21與第四寄存器r24的第二相減結(jié)果b22的第三相加結(jié)果a23儲存于第一寄存器r21,第二加法器a22將第一寄存器r21的第一相加結(jié)果a21減去第三寄存器r23的第二相加結(jié)果a22后的第三相減結(jié)果b23儲存于第二寄存器r22,第三加法器a23將第一寄存器r21的第一相加結(jié)果a21與第三寄存器r23的第二相加結(jié)果a22的第四相加結(jié)果a24儲存于第三寄存器r23,第一乘法器m21將第二寄存器r22的第一相減結(jié)果b21乘以786的第一相乘結(jié)果m21儲存于第四寄存器r24,第二乘法器m22將第四寄存器r24的第二相減結(jié)果b22乘以186的第二相乘結(jié)果m22儲存于第五寄存器r25。
在第三運算時脈期間(標(biāo)記為“2”),第一加法器a21將第一運算數(shù)據(jù)q1與第三寄存器r23的第四相加結(jié)果a24的第五相加結(jié)果a25儲存于第一寄存器r21,第一乘法器m21將第一寄存器r21的第三相加結(jié)果a23乘以486的第三相乘結(jié)果m23儲存于第二寄存器r22,第二乘法器m22將第二寄存器r22的第三相減結(jié)果b23乘以286的第四相乘結(jié)果m24儲存于第三寄存器r23,第三乘法器m23將第三寄存器r23的第四相加結(jié)果a24乘以128的第五相乘結(jié)果m25儲存于一第六寄存器r26。
在第四運算時脈期間(標(biāo)記為“3”),第一加法器a21將第一運算數(shù)據(jù)q1減去第六寄存器r26的第五相乘結(jié)果m25后的第四相減結(jié)果b24儲存于第二寄存器r22,第二加法器a22將第二寄存器r22的第三相乘結(jié)果m23減去第五寄存器r25的第二相乘結(jié)果m22后的第五相減結(jié)果b25儲存于第四寄存器r24,第三加法器a23將第四寄存器r24的第一相乘結(jié)果m21減去第二寄存器r22的第三相乘結(jié)果m23的第六相減結(jié)果b26儲存于第五寄存器r25。其中,第五相減結(jié)果b25及第六相減結(jié)果b26被提供以作為正交中間數(shù)據(jù)dqb的第一正交中間數(shù)據(jù)qb1及第二正交中間數(shù)據(jù)qb2。
在第五運算時脈期間(標(biāo)記為“4”),第一加法器a21將第二寄存器r22的第四相減結(jié)果b24與第三寄存器r23的第四相乘結(jié)果m24的第六相加結(jié)果a26儲存于第二寄存器r22,第二加法器a22將第二寄存器r22的第四相減結(jié)果b24減去第三寄存器r23的第四相乘結(jié)果m24后的第七相減結(jié)果b27儲存于第三寄存器r23。
在第六運算時脈期間(標(biāo)記為“5”),第一加法器a21將第二寄存器r22的第六相加結(jié)果a26減去第一同相中間數(shù)據(jù)ib1后的第八相減結(jié)果b28儲存于第二寄存器r22,第二加法器a22將第三寄存器r23的第七相減結(jié)果b27減去第二同相中間數(shù)據(jù)ib2后的第九相減結(jié)果b29儲存于第三寄存器r23,第三加法器a23將第三寄存器r23的第七相減結(jié)果b27與第二同相中間數(shù)據(jù)ib2的第七相加結(jié)果a27儲存于第四寄存器r24,第四加法器a24將第二寄存器r22的第六相加結(jié)果a26與第一同相中間數(shù)據(jù)ib1的第八相加結(jié)果a28儲存于第四寄存器r24。
其中,在第六運算時脈期間后,第五相加結(jié)果a25、第八相減結(jié)果b28、第九相減結(jié)果b29、第七相加結(jié)果a27及第八相加結(jié)果a28被提供以作為正交轉(zhuǎn)換數(shù)據(jù)dtq中的第一正交轉(zhuǎn)換數(shù)據(jù)qt1、第二正交轉(zhuǎn)換數(shù)據(jù)qt2、第三正交轉(zhuǎn)換數(shù)據(jù)qt3、第四正交轉(zhuǎn)換數(shù)據(jù)qt4及第五正交轉(zhuǎn)換數(shù)據(jù)qt5。并且,第一運算時脈期間(標(biāo)記為“0”)、第二運算時脈期間(標(biāo)記為“1”)、第三運算時脈期間(標(biāo)記為“2”)、第四運算時脈期間(標(biāo)記為“3”)、第五運算時脈期間(標(biāo)記為“4”)、第六運算時脈期間(標(biāo)記為“5”)為依序排列。
圖5為依據(jù)本發(fā)明一實施例的非流水線式快速傅立葉轉(zhuǎn)換處理器的運算控制方法的流程圖。請參照圖1,在本實施例中,運算控制方法包括下列步驟。首先,會透過一控制邏輯電路分別提供一第一控制指令以及一第二控制命令至一第一處理核心及一第二處理核心(步驟s510)。接著,透過第一控制指令控制第一處理核心,且第一處理核心依據(jù)多個同相運算數(shù)據(jù)及來自第二處理核心的多個正交中間數(shù)據(jù)依序進(jìn)行3點、4點、5點、7點及9點快速傅立葉轉(zhuǎn)換,以依序提供多個同相中間數(shù)據(jù)及多個同相轉(zhuǎn)換數(shù)據(jù)(步驟s520)。最后,透過第二控制指令控制第二處理核心,且第二處理核心依據(jù)多個正交運算數(shù)據(jù)及這些同相中間數(shù)據(jù)進(jìn)行3點、4點、5點、7點及9點快速傅立葉轉(zhuǎn)換,且依序提供這些正交中間數(shù)據(jù)及多個正交轉(zhuǎn)換數(shù)據(jù)(步驟s530)。其中,步驟s510、s520及s530的順序為用以說明,本發(fā)明實施例不以此為限。并且,步驟s510、s520及s530的細(xì)節(jié)可參照圖1、圖2、圖3及圖4實施例所示,在此則不再贅述。
綜上所述,本發(fā)明非流水線式快速傅立葉轉(zhuǎn)換處理器及其運算控制方法,由于非流水線式快速傅立葉轉(zhuǎn)換處理器不需要緩存中間結(jié)果,可減少大量的存儲器使用。并且,本發(fā)明的第一處理核心及第二處理核心是完全重復(fù)使用,亦即第一處理核心及第 二處理核心都可以進(jìn)行3點、4點、5點、7點及9點快速傅立葉轉(zhuǎn)換,因此可節(jié)省電路的邏輯門數(shù)目。
雖然本發(fā)明已以實施例揭露如上,然其并非用以限定本發(fā)明,任何所屬技術(shù)領(lǐng)域中具有通常知識者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的更動與潤飾,故本發(fā)明的保護(hù)范圍當(dāng)視后附的權(quán)利要求所界定者為準(zhǔn)。