專利名稱:3780點(diǎn)離散傅里葉變換處理器系統(tǒng)及其結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
一種3780點(diǎn)DFT(離散傅里葉變換)處理器系統(tǒng)及其結(jié)構(gòu)屬于DFT快速算法的硬件實(shí)現(xiàn),特別涉及多載波信號(hào)DFT處理器系統(tǒng)技術(shù)領(lǐng)域。
3780點(diǎn)DFT處理器目前僅用于清華大學(xué)提出的數(shù)字電視地面?zhèn)鬏敺桨钢?,它采用了具?780個(gè)子載波的正交頻分多載波調(diào)制技術(shù)。它采用的3780點(diǎn)DFT模塊在樣機(jī)中是用3片40萬門FPGA來實(shí)現(xiàn)的,硬件資源消耗大,成本較高,其原因在于3780點(diǎn)DFT是是這樣計(jì)算的首先把3780點(diǎn)DFT分解為3點(diǎn)DFT和1260點(diǎn)DFT,通過3×1260的行列交織處理和旋轉(zhuǎn)因子乘法相合成起來;其中1260點(diǎn)DFT又分解為3點(diǎn)DFT和420點(diǎn)DFT,通過3×420的行列交織處理和旋轉(zhuǎn)因子乘法予以合成;其中420點(diǎn)DFT又分解為4點(diǎn)DFT和35點(diǎn)DFT,通過4×35的行列交織處理和旋轉(zhuǎn)因子乘法予以合成;其中35點(diǎn)DFT又分解為5點(diǎn)DFT和7點(diǎn)DFT,通過5×7的行列交織處理和旋轉(zhuǎn)因子乘法合成起來。計(jì)算過程中的硬件消耗除了小點(diǎn)數(shù)DFT計(jì)算單元外,使用了總計(jì)為3780+1260+420+35=5635個(gè)復(fù)數(shù)字的存儲(chǔ)空間作行列交織,和5個(gè)旋轉(zhuǎn)因子乘法器即復(fù)數(shù)乘法器,它相當(dāng)于20個(gè)實(shí)數(shù)乘法器和總計(jì)為5635個(gè)復(fù)數(shù)字的旋轉(zhuǎn)因子系數(shù)存儲(chǔ)器。其系統(tǒng)結(jié)構(gòu)方框圖見
圖1。
本發(fā)明提出的3780點(diǎn)DFT處理器系統(tǒng),其特征在于
按照下述箭頭所示的運(yùn)算和連接順序,它采用以下系統(tǒng)中的任何一種(1)63點(diǎn)DFT模塊→復(fù)數(shù)乘法器模塊→行列交織處理器模塊→60點(diǎn)DFT模塊;(2)63點(diǎn)DFT模塊→行列交織處理器模塊→復(fù)數(shù)乘法器模塊→60點(diǎn)DFT模塊;(3)60點(diǎn)DFT模塊→復(fù)數(shù)乘法器模塊→行列交織處理器模塊→63點(diǎn)DFT模塊;(4)60點(diǎn)DFT模塊→行列交織處理器模塊→復(fù)數(shù)乘法器模塊→63點(diǎn)DFT模塊;其中,63點(diǎn)和60點(diǎn)DFT模塊是一種將按小點(diǎn)數(shù)的7、9點(diǎn)或3、4、5點(diǎn)進(jìn)行分解的DFT模塊。
本發(fā)明提出的3780點(diǎn)DFT處理器系統(tǒng)的結(jié)構(gòu),其特征在于按照上述箭頭所示的運(yùn)算和連接順序,在上述任何一種系統(tǒng)中,前面兩模塊共用一個(gè)芯片F(xiàn)PGA,后面兩模塊共用另一個(gè)芯片F(xiàn)PGA,中間用雙口RAM連接。
其中,所述的63點(diǎn)DFT模塊按下述箭頭所示的運(yùn)算和連接順序,它采用以下模塊結(jié)構(gòu)中的任何一種(1)7點(diǎn)DFT模塊→63點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→9點(diǎn)DFT模塊;(2)9點(diǎn)DFT模塊→63點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→7點(diǎn)DFT模塊。
所述的60點(diǎn)DFT模塊按下述箭頭所示的運(yùn)算和連接順序,它采用以下模塊結(jié)構(gòu)中的任何一種(1)3點(diǎn)DFT模塊→60點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→20點(diǎn)DFT模塊(2)20點(diǎn)DFT模塊→60點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→3點(diǎn)DFT模塊;(3)4點(diǎn)DFT模塊→60點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→15點(diǎn)DFT模塊;(4)15點(diǎn)DFT模塊→60點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→4點(diǎn)DFT模塊;(5)5點(diǎn)DFT模塊→60點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→12點(diǎn)DFT模塊;(6)12點(diǎn)DFT模塊→60點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→5點(diǎn)DFT模塊。
所述的12點(diǎn)DFT模塊按下述箭頭所示的運(yùn)算和連接順序,它采用下述模塊結(jié)構(gòu)中的任何一種(1)3點(diǎn)DFT模塊→12點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→4點(diǎn)DFT模塊;(2)4點(diǎn)DFT模塊→12點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→3點(diǎn)DFT模塊。
所述的15點(diǎn)DFT模塊按下述箭頭所示的運(yùn)算和連接順序,它采用下述模塊結(jié)構(gòu)中的任何一種(1)3點(diǎn)DFT模塊→15點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→5點(diǎn)DFT模塊;(2)5點(diǎn)DFT模塊→15點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→3點(diǎn)DFT模塊。
所述的20點(diǎn)DFT模塊按下述箭頭所示的運(yùn)算和連接順序,它采用下述模塊結(jié)構(gòu)中的任何一種(1)4點(diǎn)DFT模塊→20點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→5點(diǎn)DFT模塊;
(2)5點(diǎn)DFT模塊→20點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→4點(diǎn)DFT模塊。
使用證明它達(dá)到了設(shè)計(jì)目的。
圖2~圖5本發(fā)明提出的四種不同的3780點(diǎn)DFT處理系統(tǒng)的結(jié)構(gòu)框圖。
圖6~圖7本發(fā)明提出的2種不同的63點(diǎn)DFT模塊的結(jié)構(gòu)框圖。
圖8~圖13本發(fā)明提出的6種不同的60點(diǎn)DFT模塊的結(jié)構(gòu)框圖。
圖14~圖15本發(fā)明提出的2種不同的12點(diǎn)DFT模塊的結(jié)構(gòu)框圖。
圖16~圖17本發(fā)明提出的2種不同的15點(diǎn)DFT模塊的結(jié)構(gòu)框圖。
圖18~圖19本發(fā)明提出的2種不同的20點(diǎn)DFT模塊的結(jié)構(gòu)框圖。
圖20本發(fā)明提出的一種3780點(diǎn)DFT處理系統(tǒng)的系統(tǒng)電路原理框圖。
圖21本發(fā)明提出的一種3780點(diǎn)DFT處理系統(tǒng)的硬件結(jié)構(gòu)圖。
圖22本發(fā)明提出的DFT素因子算法的下標(biāo)映射模塊的電路原理框圖。
圖23本發(fā)明提出的3、5、7、9點(diǎn)中任何一個(gè)點(diǎn)數(shù)的DFT模塊的電路原理框圖。
請(qǐng)見圖6~圖7現(xiàn)以7點(diǎn)DFT模塊→63點(diǎn)DFT素因子算法的下標(biāo)映射模塊→9點(diǎn)DFT模塊這一63點(diǎn)DFT模塊為例對(duì)其運(yùn)算步驟進(jìn)行說明(1)輸入數(shù)據(jù)先進(jìn)行7點(diǎn)DFT運(yùn)算;(2)對(duì)經(jīng)過步驟(1)的數(shù)據(jù)用63點(diǎn)DFT素因子算法的下標(biāo)映射模塊進(jìn)行數(shù)據(jù)行列重排;(3)對(duì)經(jīng)過步驟(2)重排的數(shù)據(jù)進(jìn)行9點(diǎn)DFT運(yùn)算。
請(qǐng)見圖8~圖13其各種模塊結(jié)構(gòu)的運(yùn)算步驟與63點(diǎn)DFT模塊的相似,不再重述。
請(qǐng)見圖14~圖15,圖16~圖17以及圖18~19,其各種子模塊結(jié)構(gòu)的運(yùn)算步驟也和63點(diǎn)DFT模塊的相似,不再重復(fù)。
請(qǐng)見圖20這是一種63點(diǎn)DFT模塊→行列交織處理器模擬→復(fù)數(shù)乘法器模塊→60點(diǎn)DFT模塊構(gòu)成的系統(tǒng)的電路原理框圖,其他的系統(tǒng)與其相似。其中63點(diǎn)DFT模塊的模塊結(jié)構(gòu)為7點(diǎn)DFT模塊→63點(diǎn)DFT素因子算法的下標(biāo)映射模塊→9點(diǎn)DFT模塊;60點(diǎn)DFT模塊的模塊結(jié)構(gòu)為3點(diǎn)DFT模塊→15點(diǎn)DFT素因子算法的下標(biāo)映射模塊→5點(diǎn)DFT模塊→60點(diǎn)DFT素因子算法的下標(biāo)映射模塊→4點(diǎn)DFT模塊。
請(qǐng)見圖21這是本發(fā)明的DFT處理器系統(tǒng)的硬件結(jié)構(gòu)圖。63(或60)點(diǎn)DFT模塊和行列交織處理模塊中含有的讀寫地址和讀寫控制信號(hào)產(chǎn)生電路共用一個(gè)芯片F(xiàn)PGA,復(fù)數(shù)乘法器模塊含有復(fù)數(shù)法器和輸出端和上述復(fù)數(shù)乘法器相連的旋轉(zhuǎn)因子系數(shù)存儲(chǔ)器,上述復(fù)數(shù)乘法器模塊和60(或63)點(diǎn)DFT模塊共用另一個(gè)芯片F(xiàn)PGA,它們的型號(hào)都是VirtexE XCV300E。兩塊FPGA之間用一個(gè)型號(hào)為MCM69D618TQ6的雙口RAM相連。N個(gè)待變換數(shù)據(jù)的每個(gè)數(shù)據(jù)經(jīng)1~M條數(shù)據(jù)線DATA輸入63點(diǎn)DFT單元,后者把63點(diǎn)DFT運(yùn)算結(jié)果經(jīng)1~M條數(shù)據(jù)線DATA和讀寫地址和讀寫控制信號(hào)產(chǎn)生電路寫入雙口RAM。它是在后者寫命令WR控制下通過雙口RAM的1~14個(gè)地址線ADDR寫入214個(gè)地址單元中的。然后,在讀寫地址和讀寫控制信號(hào)產(chǎn)生電路的讀命令RD控制下,從214個(gè)地址中把1~N個(gè)數(shù)據(jù)經(jīng)數(shù)據(jù)線DATA讀出送往復(fù)數(shù)乘法器,上述復(fù)數(shù)乘法器在控制信號(hào)下從旋轉(zhuǎn)因子存儲(chǔ)器中取出1~N個(gè)旋轉(zhuǎn)因子ROTATOR后使兩者作復(fù)數(shù)乘法,把1~N個(gè)乘積數(shù)據(jù)經(jīng)復(fù)數(shù)乘法器1~M條數(shù)據(jù)線DATA送往60點(diǎn)DFT模塊作60點(diǎn)DFT運(yùn)算,其結(jié)果作為變換后數(shù)據(jù)共1~N個(gè)由數(shù)據(jù)線DATA輸出。
圖22是下標(biāo)映射模塊的電路原理框圖。它含有輸入/出端分別與1~m條數(shù)據(jù)寫入線DATA WRITE和1~m條數(shù)據(jù)讀出線DATA READ相連的存儲(chǔ)器,在起始信號(hào)START控制下向上述存儲(chǔ)器發(fā)出寫命令WR、寫地址命令WR ADDRESS的寫控制電路以及在收到寫控制電路的啟動(dòng)信號(hào)后可向上述存儲(chǔ)器發(fā)出讀出指令READ,讀出地址指令RD ADDRESS的讀控制電路。在讀出結(jié)束后,上述讀控制電路發(fā)出啟動(dòng)下一程序的指令START NEXT。
再見圖23它是小點(diǎn)數(shù)如3、5、7、9點(diǎn)DFT模塊的電路原理框圖。它是采用數(shù)字信號(hào)處理中常用的Winograd算法實(shí)現(xiàn)的。它的數(shù)學(xué)表述式為X(k)=ODI×(n),I矩陣和O矩陣是僅由-1、0、1三種元素構(gòu)成的平凡矩陣,I矩陣以及O矩陣和某向量的乘積可以各用累加器組實(shí)現(xiàn);D矩陣是對(duì)角矩陣,其對(duì)角線上的元素為實(shí)數(shù)或純虛數(shù),復(fù)數(shù)乘法便可由兩個(gè)實(shí)數(shù)乘法器來完成,整個(gè)對(duì)角矩陣乘法運(yùn)算可由乘法系數(shù)產(chǎn)生子模塊和兩個(gè)實(shí)數(shù)乘法器實(shí)現(xiàn),如圖23所示。數(shù)據(jù)輸入累加器組1后,由I矩陣系數(shù)產(chǎn)生和加減控制邏輯電路向累加器組1發(fā)出使能控制信號(hào)EN和加減控制邏輯信號(hào)AS以完成I矩陣乘法,其輸出經(jīng)多路選通器1送入兩個(gè)通用乘法器以完成對(duì)角矩陣乘法,其輸出輸送到累加器組2,在O矩陣系數(shù)產(chǎn)生和加減控制邏輯電路發(fā)出的使能控制信號(hào)EN和加減控制邏輯信號(hào)AS下完成O矩陣乘法,最終經(jīng)多路選通器2輸出其DFT結(jié)果。對(duì)3、5、7、9點(diǎn)DFT的區(qū)別僅在于O、I、D的系數(shù)不同,4點(diǎn)DFT可表述為X(k)=A×(n),A矩陣是平凡矩陣,4點(diǎn)DFT可以由一組累加器及平凡系數(shù)產(chǎn)生和加減控制邏輯電路構(gòu)成,其電路原理框圖與圖23中的I矩陣或O矩陣的電路原理框圖相同。
由此可見,本發(fā)明僅使用了總計(jì)為3780+63+60+15=3918個(gè)復(fù)數(shù)字的存儲(chǔ)空間作為行列交織和素因子算法下標(biāo)映射用,還有一個(gè)旋轉(zhuǎn)因子乘法器,相當(dāng)于4個(gè)實(shí)數(shù)乘法器和容量為3780個(gè)復(fù)數(shù)字的旋轉(zhuǎn)因子系數(shù)存儲(chǔ)器,其中DFT素因子算法的下標(biāo)映射模塊的復(fù)雜性主要由存儲(chǔ)器決定,因?yàn)槠渥x寫控制單元的資源消耗很少。除了小點(diǎn)數(shù)DFT模塊外,本發(fā)明相當(dāng)于節(jié)省了30%的存儲(chǔ)空間和80%的實(shí)數(shù)乘法器。由于每個(gè)實(shí)數(shù)乘法器約需消耗近1萬門,現(xiàn)有技術(shù)使用3片40萬門FPGA,相當(dāng)于使用120萬門的邏輯資源,而本發(fā)明只用2片30萬門FPGA,相當(dāng)于使用60萬門的邏輯資源,并且將主要的存儲(chǔ)資源消耗,即63×60行列交織處理模塊所需要的3780個(gè)復(fù)數(shù)字的存儲(chǔ)器,從昂貴的FPGA中提出來用相對(duì)較便宜的雙口PAM實(shí)現(xiàn),成本可大大下降。
權(quán)利要求
1.一種3780點(diǎn)DFT(離散傅里葉變換)處理器系統(tǒng)含有DFT模塊,復(fù)數(shù)乘法器模塊和行列交織處理器模塊,其特征在于按照下述箭頭所示的運(yùn)算和連接順序,它采用以下系統(tǒng)中的任何一種(1)63點(diǎn)DFT模塊→復(fù)數(shù)乘法器模塊→行列交織處理器模塊→60點(diǎn)DFT模塊;(2)63點(diǎn)DFT模塊→行列交織處理器模塊→復(fù)數(shù)乘法器模塊→60點(diǎn)DFT模塊;(3)60點(diǎn)DFT模塊→復(fù)數(shù)乘法器模塊→行列交織處理器模塊→63點(diǎn)DFT模塊;(4)60點(diǎn)DFT模塊→行列交織處理器模塊→復(fù)數(shù)乘法器模塊→63點(diǎn)DFT模塊;其中,63點(diǎn)和60點(diǎn)DFT模塊是一種將按小點(diǎn)數(shù)的7、9點(diǎn)或3、4、5點(diǎn)進(jìn)行分解的DFT模塊。
2.根據(jù)權(quán)利要求1所述的3780點(diǎn)DFT處理器系統(tǒng)所設(shè)計(jì)的系統(tǒng)結(jié)構(gòu),其特征在于按照上述箭頭所示的運(yùn)算和連接順序,在上述任何一種系統(tǒng)中,前面兩模塊共用一個(gè)芯片F(xiàn)PGA,后面兩模塊共用另一個(gè)芯片F(xiàn)PGA,中間用雙口RAM連接。
3.根據(jù)權(quán)利要求1所述的3780點(diǎn)DFT處理器系統(tǒng),其特征在于所述的63點(diǎn)DFT模塊按下述箭頭所示的運(yùn)算和連接順序,它采用以下模塊結(jié)構(gòu)中的任何一種(1)7點(diǎn)DFT模塊→63點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→9點(diǎn)DFT模塊;(2)9點(diǎn)DFT模塊→63點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→7點(diǎn)DFT模塊。
4.根據(jù)權(quán)利要求1所述的3780點(diǎn)DFT處理器系統(tǒng),其特征在于所述的60點(diǎn)DFT模塊按下述箭頭所示的運(yùn)算和連接順序,它采用以下模塊結(jié)構(gòu)中的任何一種(1)3點(diǎn)DFT模塊→60點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→20點(diǎn)DFT模塊(2)20點(diǎn)DFT模塊→60點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→3點(diǎn)DFT模塊;(3)4點(diǎn)DFT模塊→60點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→15點(diǎn)DFT模塊;(4)15點(diǎn)DFT模塊→60點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→4點(diǎn)DFT模塊;(5)5點(diǎn)DFT模塊→60點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→12點(diǎn)DFT模塊;(6)12點(diǎn)DFT模塊→60點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→5點(diǎn)DFT模塊。
5.根據(jù)權(quán)利要求1或4所述的DFT處理系統(tǒng),其特征在于所述的12點(diǎn)DFT模塊按下述箭頭所示的運(yùn)算和連接順序,它采用下述模塊結(jié)構(gòu)中的任何一種(1)3點(diǎn)DFT模塊→12點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→4點(diǎn)DFT模塊;(2)4點(diǎn)DFT模塊→12點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→3點(diǎn)DFT模塊。
6.根據(jù)權(quán)利要求1或4所述的DFT處理系統(tǒng),其特征在于所述的15點(diǎn)DFT模塊按下述箭頭所示的運(yùn)算和連接順序,它采用下述模塊結(jié)構(gòu)中的任何一種(1)3點(diǎn)DFT模塊→15點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→5點(diǎn)DFT模塊;(2)5點(diǎn)DFT模塊→15點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→3點(diǎn)DFT模塊。
7.根據(jù)權(quán)利要求1或4所述的DFT處理系統(tǒng),其特征在于所述的20點(diǎn)DFT模塊按下述箭頭所示的運(yùn)算和連接順序,它采用下述模塊結(jié)構(gòu)中的任何一種(1)4點(diǎn)DFT模塊→20點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→5點(diǎn)DFT模塊;(2)5點(diǎn)DFT模塊→20點(diǎn)DFT的素因子算法的下標(biāo)映射模塊→4點(diǎn)DFT模塊。
8.根據(jù)權(quán)利要求1或2所述的3780點(diǎn)DFT處理系統(tǒng)及其結(jié)構(gòu),其特征在于所述的FPGA采用型號(hào)為VirtexE XCV300E的芯片。
全文摘要
3780點(diǎn)DFT處理器系統(tǒng)及其結(jié)構(gòu)屬于DFT處理器技術(shù)領(lǐng)域,其特征在于,它含有:按運(yùn)算順序依次相連的63點(diǎn)離散傅里葉變換(DFT)模塊,復(fù)數(shù)乘法器模塊,行列交織處理器模塊和60點(diǎn)DFT模塊,其中,63點(diǎn)和60點(diǎn)的DFT模塊中或復(fù)數(shù)乘法器模塊和行列交織器模塊中各模塊的相互位置可以互換;在結(jié)構(gòu)上,前后面兩塊模塊各自共用一個(gè)FPGA芯片,而兩片F(xiàn)PGA芯片用雙口RAM相連。按運(yùn)算和連接順序,63點(diǎn)DFT模塊由7點(diǎn)(或9點(diǎn))DFT模塊→63點(diǎn)DFT素因子算法下標(biāo)映射模塊→9(或7點(diǎn))DFT模塊構(gòu)成;60點(diǎn)DFT模塊也可按3×20、4×15、5×12點(diǎn)DFT模塊作相似的分解,而12點(diǎn)和15點(diǎn)DFT模塊又可分別按3×4、3×5點(diǎn)DFT模塊分解。整個(gè)3780點(diǎn)DFT處理器系統(tǒng)只需2片30萬門FPGA芯片,成本大為降低。
文檔編號(hào)G06F17/14GK1348141SQ01140060
公開日2002年5月8日 申請(qǐng)日期2001年11月23日 優(yōu)先權(quán)日2001年11月23日
發(fā)明者楊知行, 胡宇鵬, 潘長(zhǎng)勇, 楊林 申請(qǐng)人:清華大學(xué)