国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      并行分支蝶形單元的fft的地址映射方法及裝置的制作方法

      文檔序號(hào):6427270閱讀:189來源:國(guó)知局
      專利名稱:并行分支蝶形單元的fft的地址映射方法及裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及通信技術(shù)領(lǐng)域,更具體的說,是涉及一種并行分支蝶形單元的FFT的地址映射方法及裝置。
      背景技術(shù)
      當(dāng)前,寬帶無線系統(tǒng)中隨著要 求傳輸?shù)拇a元速率不斷提高,傳輸帶寬也越來越寬的情況下,為消除傳輸過程中的干擾和衰落等,寬帶無線系統(tǒng)的物理層多采用 OFDM (Orthogonal Frequency Division Multiplexing,正交頻分復(fù)用)技術(shù),如WiMAX(Worldwide Interoperability for Microwave Access,全球微波互聯(lián)接入)、WiFi (wireless fidelity,無線局域網(wǎng))、DVB (Digital Video Broadcasting,數(shù)字視頻廣播)、DAB (Digital Audio Broadcasting,數(shù)字信號(hào)廣播)等,上述系統(tǒng)基帶調(diào)制部分的共同特點(diǎn)即均采用FFT (Fast Fourier Transformation,快速傅里葉變換)作為“調(diào)制引擎”。由于寬帶系統(tǒng)的不斷升級(jí),人們對(duì)帶寬的要求也更加苛刻起來,為提升系統(tǒng)的處理能力,對(duì)符合上述要求的可高速、并行、可擴(kuò)展和低成本的FFT的設(shè)計(jì)需求也變得迫切起來。在現(xiàn)有技術(shù)中,設(shè)計(jì)并行FFT的實(shí)現(xiàn)架構(gòu)時(shí)(在對(duì)應(yīng)的FFT裝置中包括控制架構(gòu)內(nèi)部模塊間的協(xié)調(diào)調(diào)度的主控單元和外部存儲(chǔ)器),為了解決不可避免的高速、并行的數(shù)據(jù)讀寫問題,一般采用多個(gè)存儲(chǔ)體(FFT的基數(shù))的方式來解決上述并行數(shù)據(jù)讀寫的問題,并且多采用成本較低的單端口或雙端口存儲(chǔ)器。但是,依照FFT的運(yùn)算規(guī)則(即利用旋轉(zhuǎn)因子的周期性和對(duì)稱性進(jìn)行運(yùn)算,該旋轉(zhuǎn)因子存儲(chǔ)于旋轉(zhuǎn)因子存儲(chǔ)器中),在進(jìn)行蝶形單元的FFT地址映射的過程中,將中間數(shù)據(jù)寫入下一級(jí)存儲(chǔ)體組時(shí),會(huì)影響緊接著的并行數(shù)據(jù)的讀取,不能保證FFT運(yùn)算的連續(xù)性和有效性,尤其是當(dāng)FFT的點(diǎn)數(shù)較多、基數(shù)較大或有多個(gè)基數(shù)混合運(yùn)算時(shí),在進(jìn)行并行FFT運(yùn)算時(shí),更不能保證FFT運(yùn)算的連續(xù)性和有效性。

      發(fā)明內(nèi)容
      有鑒于此,本發(fā)明提供了一種并行分支蝶形單元的FFT的地址映射方法及裝置,以克服現(xiàn)有技術(shù)在蝶形單元的FFT地址映射過程中,不能保證FFT運(yùn)算的連續(xù)性和有效性的問題。為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案一種并行分支蝶形單元的快速傅里葉變換FFT的地址映射方法,包括依據(jù)快速傅里葉變換FFT的采樣點(diǎn)個(gè)數(shù)確定FFT的基數(shù),及所述基數(shù)對(duì)應(yīng)的FFT級(jí)間變換的總級(jí)數(shù)M ;按順序?qū)⑺霾蓸狱c(diǎn)存儲(chǔ)至第一存儲(chǔ)體組的存儲(chǔ)體中,所述存儲(chǔ)體的個(gè)數(shù)為當(dāng)前確定FFT的基數(shù)中的最高基的數(shù)值Dmax ;依據(jù)當(dāng)前確定的基數(shù)在第一存儲(chǔ)體組與第二存儲(chǔ)體組之間執(zhí)行FFT級(jí)間變換,具體為
      當(dāng)當(dāng)前級(jí)數(shù)m大于等于I且小于M時(shí),將存儲(chǔ)于當(dāng)前級(jí)的存儲(chǔ)體中的待處理數(shù)據(jù)或中間數(shù)據(jù)依據(jù)列按邏輯塊移一位、行按存儲(chǔ)體移一位的循環(huán)移位方式,并行寫入下一級(jí)的A=個(gè)不同邏輯塊中,所述m的取值范圍為I M ;循環(huán)執(zhí)行上述FFT級(jí)間變換至當(dāng)前級(jí)數(shù)m等于M。優(yōu)選地,所述執(zhí)行FFT級(jí)間變換時(shí),將當(dāng)前級(jí)m中的A=個(gè)邏輯塊進(jìn)行劃分,且一個(gè)邏輯塊對(duì)應(yīng)劃分為下一級(jí)的D個(gè)邏輯塊。優(yōu)選地,所述循環(huán)移位的范圍包括行的循環(huán)范圍為存儲(chǔ)體組中的存儲(chǔ)體個(gè)數(shù);
      列的循環(huán)范圍為各級(jí)每個(gè)邏輯塊中所包含的每個(gè)存儲(chǔ)體的地址個(gè)數(shù)。優(yōu)選地,所述循環(huán)移位寫入數(shù)據(jù)的方式為先按存儲(chǔ)體進(jìn)行移位,再按邏輯塊進(jìn)行移位,后按邏輯塊內(nèi)列移位后寫入數(shù)據(jù)。優(yōu)選地,所述循環(huán)移位寫入數(shù)據(jù)的方式為先按邏輯塊內(nèi)列移位,再按邏輯塊進(jìn)行移位,后按存儲(chǔ)體進(jìn)行移位后寫入數(shù)據(jù)。優(yōu)選地,包括當(dāng)FFT的采樣點(diǎn)數(shù)為4或8的整數(shù)次冪時(shí),確定FFT的基數(shù)為單一基,所述單一基為基2、基4或基8 ;當(dāng)前確定FFT的基數(shù)中的最高基的數(shù)據(jù)Dmax等于所述單一基的數(shù)值;所述單一基數(shù)對(duì)應(yīng)的FFT級(jí)間變換的總級(jí)數(shù)M為以單一基為底采樣點(diǎn)數(shù)的對(duì)數(shù)。優(yōu)選地,包括當(dāng)FFT的采樣點(diǎn)數(shù)不為4或8的整數(shù)次冪時(shí),確定FFT的基數(shù)為混合基,所述混合基為基2、基4或基8的任意組合;當(dāng)前確定FFT的基數(shù)中的最高基的數(shù)據(jù)Dmax為混合基數(shù)中的最高基的數(shù)值;所述混合基對(duì)應(yīng)的FFT級(jí)間變換的總級(jí)數(shù)M具體為將不為4或8的整數(shù)次冪的采樣點(diǎn)數(shù)分解為混合基中各單一基的整數(shù)次冪數(shù)值的乘積;計(jì)算各所述單一基對(duì)應(yīng)的級(jí)數(shù),獲取所述混合基中各單一基對(duì)應(yīng)的級(jí)數(shù)的總和為總級(jí)數(shù)M ;當(dāng)進(jìn)行FFT級(jí)間變換時(shí),先依據(jù)基4或基8執(zhí)行FFT級(jí)間變換,最后一級(jí)執(zhí)行基2或基4的運(yùn)算。一種并行分支蝶形單元的快速傅里葉變換FFT的地址映射裝置,包括主控單元、旋轉(zhuǎn)因子存儲(chǔ)器和外部存儲(chǔ)器,還包括并行分支蝶形單元組,用于經(jīng)主控單元控制確定FFT的基數(shù),進(jìn)行FFT級(jí)間運(yùn)算;第一內(nèi)部存儲(chǔ)體組和第二內(nèi)部存儲(chǔ)體組,用于存儲(chǔ)進(jìn)行FFT級(jí)間變換時(shí),列按邏輯塊移一位、行按存儲(chǔ)體移一位的循環(huán)移位方式并行寫入或讀出的待處理數(shù)據(jù)或中間數(shù)據(jù);地址產(chǎn)生單元,用于向所述旋轉(zhuǎn)因子存儲(chǔ)器、所述外部存儲(chǔ)器、所述第一內(nèi)部存儲(chǔ)體組和第二內(nèi)部存儲(chǔ)體組提供進(jìn)行FFT級(jí)間變換時(shí)讀取的地址。經(jīng)由上述的技術(shù)方案可知,與現(xiàn)有技術(shù)相比,本發(fā)明公開了一種并行分支蝶形單元的FFT的地址映射方法及裝置,基于FFT級(jí)間的變換和依據(jù)行、列循環(huán)移位的方法,實(shí)現(xiàn)并行分支蝶形單元FFT地址映射,能夠解決并行分支蝶形單元運(yùn)算時(shí)FFT的級(jí)間數(shù)據(jù)讀寫問題,即通過地址間的映射實(shí)現(xiàn)多組數(shù)據(jù)間的并行讀寫相互之間不產(chǎn)生影響,保證FFT運(yùn)算過程中的連續(xù)性和有效性,并且可采用普通常用的低成本單端口或雙端口存儲(chǔ)器實(shí)現(xiàn)并行FFT運(yùn)算,進(jìn)一步降低了實(shí)現(xiàn)成本與復(fù)雜度。


      為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。圖I為本發(fā)明實(shí)施例一公開的一種并行分支蝶形單元的FFT的地址映射方法流程圖;圖2為本發(fā)明一種并行分支蝶形單元FFT 64點(diǎn)DIF4地址變換的示意流程圖;圖3為本發(fā)明一種并行分支蝶形單元FFT 64點(diǎn)DIF8地址變換的示意流程圖;圖4為本發(fā)明一種應(yīng)用并行分支蝶形單元FFT地址映射方法的FFT實(shí)現(xiàn)結(jié)構(gòu)示意圖。
      具體實(shí)施方式
      為了引用和清楚起見,下文中使用的技術(shù)名詞的說明、簡(jiǎn)寫或縮寫總結(jié)如下FFT Fast Fourier Transformation,快速傅里葉變換;DIF :頻率抽取,為FFT算法中的一種,另一種為時(shí)間抽取DIT ;data:數(shù)據(jù)。下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。由背景技術(shù)可知,在利用現(xiàn)有技術(shù)中的構(gòu)架解決高速、并行的數(shù)據(jù)讀寫問題時(shí),其中對(duì)應(yīng)的FFT裝置在進(jìn)行蝶形單元的FFT地址映射的過程中,將處理過程中的中間數(shù)據(jù)寫入下一級(jí)存儲(chǔ)體組時(shí),會(huì)影響緊接著的并行數(shù)據(jù)的讀取,不能保證FFT運(yùn)算的連續(xù)性和有效性,尤其是當(dāng)FFT的點(diǎn)數(shù)較多、基數(shù)較大或有多個(gè)基數(shù)混合運(yùn)算時(shí),在進(jìn)行并行FFT運(yùn)算時(shí),更不能保證FFT運(yùn)算的連續(xù)性和有效性。因此,本發(fā)明提供了一種并行分支蝶形單元的FFT的地址映射方法及裝置,通過地址間的映射實(shí)現(xiàn)多組數(shù)據(jù)間的并行讀寫相互之間不產(chǎn)生影響,保證FFT運(yùn)算過程中的連續(xù)性和有效性。具體過程通過以下實(shí)施例進(jìn)行詳細(xì)說明。實(shí)施例一請(qǐng)參閱附圖1,為本發(fā)明公開的一種并行分支蝶形單元的FFT的地址映射方法的流程圖,主要包括以下步驟步驟S101,依據(jù)FFT的采樣點(diǎn)個(gè)數(shù)N確定FFT的基數(shù)D,以及所述基數(shù)D對(duì)應(yīng)的FFT級(jí)間變換的總級(jí)數(shù)M。在執(zhí)行步驟SlOl中,基數(shù)D的FFT即為執(zhí)行FFT蝶形單元的基數(shù),D的取值與采樣點(diǎn)的個(gè)數(shù)N有關(guān)。所述基數(shù)D對(duì)應(yīng)的FFT級(jí)間變換的總級(jí)數(shù)M則與基數(shù)D和采樣點(diǎn)數(shù)N有關(guān)。在本發(fā)明中的基數(shù)主要包括基8、基4和基2,一般情況下,基數(shù)越大效率越高。其中,采樣點(diǎn)數(shù)可按DIF進(jìn)行抽取,也可以按照DIT進(jìn)行抽取。步驟S102,按順序?qū)⑺霾蓸狱c(diǎn)存儲(chǔ)至第一存儲(chǔ)體組的存儲(chǔ)體中,所述存儲(chǔ)體的個(gè)數(shù)為當(dāng)前確定FFT的基數(shù)中的最高基的數(shù)值D_。步驟S103,依據(jù)確定的基數(shù)在第一存儲(chǔ)體組與第二存儲(chǔ)體組之間執(zhí)行FFT級(jí)間變換。在整個(gè)FFT系統(tǒng)中存在兩組存儲(chǔ)體組,所進(jìn)行的級(jí)間變換也是在兩組存儲(chǔ)體組中乒乓進(jìn)行的。在執(zhí)行步驟S102中,將抽取到的采樣點(diǎn)N存儲(chǔ)至第一存儲(chǔ)體組的存儲(chǔ)體中,需要說明的是,在兩組存儲(chǔ)體組中的存儲(chǔ)體的個(gè)數(shù)為當(dāng)前確定的FFT的基數(shù)中的最高基的·數(shù)值Dmax。一般情況下,每個(gè)存儲(chǔ)體組中的每個(gè)存儲(chǔ)體中存儲(chǔ)的采樣點(diǎn)的個(gè)數(shù)是相同的。步驟S104,判斷當(dāng)前進(jìn)行FFT級(jí)間變換的級(jí)數(shù)m是否大于等于I且小于M,如果是,則執(zhí)行步驟S105 ;如果否,則執(zhí)行步驟S106。步驟S105,將存儲(chǔ)于當(dāng)前級(jí)的存儲(chǔ)體中的待處理數(shù)據(jù)或中間數(shù)據(jù)依據(jù)列按邏輯塊移一位、行按存儲(chǔ)體移一位的循環(huán)移位方式,并行寫入下一級(jí)的A=個(gè)不同邏輯塊中,所述m的取值范圍為I M。在執(zhí)行步驟S105進(jìn)行FFT級(jí)間變換時(shí),將當(dāng)前級(jí)m中的A=個(gè)邏輯塊進(jìn)行劃分,且一個(gè)邏輯塊對(duì)應(yīng)劃分為下一級(jí)的D個(gè)邏輯塊。對(duì)邏輯塊的劃分詳細(xì)進(jìn)行說明,具體每一級(jí)劃分的邏輯塊的個(gè)數(shù)與其所在級(jí)數(shù)和FFT的基數(shù)有關(guān),具體為山疒其中m的取值范圍為I M,即在總級(jí)數(shù)之內(nèi)(包括總級(jí)數(shù))。需要注意的是該劃分是在實(shí)際運(yùn)算過程中的邏輯劃分,且上一級(jí)中的一個(gè)邏輯塊將對(duì)應(yīng)分割為下一級(jí)的D個(gè)邏輯塊。給出一示例進(jìn)行說明當(dāng)FFT的基數(shù)為2,采樣點(diǎn)數(shù)為64,F(xiàn)FT的總級(jí)數(shù)M為6,此時(shí)計(jì)算其各個(gè)所在級(jí)數(shù)m的邏輯塊為當(dāng)m等于I時(shí),Dnri = D0,第一級(jí)具有一塊邏輯塊;當(dāng)m等于2時(shí),Dnri = D1 = 2,第二級(jí)具有兩塊邏輯塊;當(dāng)m等于3時(shí),Dnri = D2 = 4,第三級(jí)具有四塊邏輯塊;依次類推,第四級(jí)八塊,第五級(jí)十六塊,第六級(jí)三十二塊。由此,第一級(jí)中的一塊邏輯塊分割成第二級(jí)中的兩塊邏輯塊;第二級(jí)中的兩塊邏輯塊則依次分割為第三級(jí)中的四塊邏輯塊,依次進(jìn)行分割。需要說明的是,在分割的過程中,被分割的邏輯塊與分割后的邏輯塊是一一對(duì)應(yīng)的,例如第三級(jí)中具有四塊邏輯塊,分別將其編號(hào)為第三級(jí)的第一邏輯塊至第四邏輯塊,而第二級(jí)中的兩塊邏輯塊的編號(hào)為第二級(jí)的第一邏輯塊和第二邏輯塊,其對(duì)應(yīng)分割后的邏輯塊,即對(duì)應(yīng)第三級(jí)中的邏輯塊分別為第二級(jí)中的第一邏輯塊分割為第三級(jí)的第一邏輯塊和第二邏輯塊;第二級(jí)中的第二邏輯塊則分割為第三級(jí)的第三邏輯塊和第四邏輯塊,即分割上一級(jí)中的邏輯塊時(shí),依次分割并與下一級(jí)中分割的邏輯塊對(duì)應(yīng)。步驟S106,當(dāng)前進(jìn)行FFT運(yùn)算的級(jí)數(shù)m等于M,上述循環(huán)執(zhí)行的FFT級(jí)間變換已到達(dá)最后一級(jí),即總級(jí)數(shù)M級(jí)處,停止FFT級(jí)間變換,即停止FFT運(yùn)算。在執(zhí)行步驟S104至步驟S106的過程中,在當(dāng)前級(jí)數(shù)m小于總級(jí)數(shù)M時(shí),則依次進(jìn)行FFT級(jí)間的變換,即從第一級(jí)開始向第二級(jí)進(jìn)行變換(從第一存儲(chǔ)體組向第二存儲(chǔ)體組進(jìn)行變換),然后再?gòu)牡诙?jí)向第三級(jí)進(jìn)行變換(從第二存儲(chǔ)體組向第一存儲(chǔ)體組進(jìn)行變換),依次進(jìn)行。如果總級(jí)數(shù)為2,則只進(jìn)行一次級(jí)間變換即可。如果總級(jí)數(shù)較大,則依據(jù)步驟S105的方式循環(huán)進(jìn)行上述的級(jí)間變換、循環(huán)移位等,即利用列(邏輯塊或塊內(nèi)地址)、行(存儲(chǔ)體)循環(huán)移位的方式實(shí)現(xiàn)將上一級(jí)FFT處理完的中間數(shù)據(jù)寫入下一級(jí)待處理的D個(gè)存儲(chǔ)體中,為不影響下一級(jí)的FFT處理運(yùn)算,處理完畢的數(shù)據(jù)會(huì)被并行寫入下一級(jí)中的Dm-1On為當(dāng)前運(yùn)算所處的級(jí)數(shù))個(gè)不同邏輯塊中。
      需要說明的是,在進(jìn)行上述循環(huán)移位的過程中,行的循環(huán)范圍為存儲(chǔ)體組中的存儲(chǔ)體個(gè)數(shù);列的循環(huán)范圍為各級(jí)每個(gè)邏輯塊中所包含的每個(gè)存儲(chǔ)體的地址個(gè)數(shù)。此外,上述循環(huán)移位寫入數(shù)據(jù)的方式可以為先按存儲(chǔ)體進(jìn)行移位,再按邏輯塊進(jìn)行移位,后按邏輯塊內(nèi)列移位后寫入數(shù)據(jù);也可以為先按邏輯塊內(nèi)列移位,再按邏輯塊進(jìn)行移位,后按存儲(chǔ)體進(jìn)行移位后寫入數(shù)據(jù)。本發(fā)明并不對(duì)此進(jìn)行限定,即移位的順序并不是唯一的。通過上述本發(fā)明所提供的方法,基于FFT級(jí)間的變換和依據(jù)行、列循環(huán)移位的方法,實(shí)現(xiàn)并行分支蝶形單元FFT地址映射,能夠解決并行分支蝶形單元運(yùn)算時(shí)FFT的級(jí)間數(shù)據(jù)讀寫問題,并且可采用普通常用的低成本單端口或雙端口存儲(chǔ)器實(shí)現(xiàn)并行FFT運(yùn)算,進(jìn)一步降低了實(shí)現(xiàn)成本與復(fù)雜度。需要進(jìn)行說明的是,關(guān)于FFT的采樣點(diǎn)數(shù)N的取值對(duì)FFT所選取的基數(shù)的影響。當(dāng)FFT的采樣點(diǎn)數(shù)N為4或8的整數(shù)次冪時(shí),確定FFT的基數(shù)為單一基,所述單一基為基2、基4或基8。那么,當(dāng)前確定FFT的基數(shù)中的最高基的數(shù)據(jù)Dmax等于所述單一基的數(shù)值,即確定當(dāng)前存儲(chǔ)體組中的存儲(chǔ)體的個(gè)數(shù)。而對(duì)于該單一基數(shù)對(duì)應(yīng)的FFT級(jí)間變換的總級(jí)數(shù)M為以單一基為底采樣點(diǎn)數(shù)的對(duì)數(shù)??梢杂霉舰疟硎綧 = log^}( I )其中,M即為FFT的總級(jí)數(shù),D為FFT的基數(shù),N為確定的采樣點(diǎn)數(shù),為D的整數(shù)次冪。當(dāng)FFT的采樣點(diǎn)數(shù)不為4或8的整數(shù)次冪時(shí),確定FFT的基數(shù)為混合基,所述混合基為基2、基4或基8的任意組合。那么,當(dāng)前確定FFT的基數(shù)中的最高基的數(shù)據(jù)Dmax為混合基數(shù)中的最高基的數(shù)值。如混合基為基2與基8的組合,則Dmax = 8 ;如混合基為基2與基4的組合,則Dmax = 4。而對(duì)于該混合基對(duì)應(yīng)的FFT級(jí)間變換的總級(jí)數(shù)M,則將采樣點(diǎn)分解為混合基中各單一基的整數(shù)次冪數(shù)值的乘積,然后再計(jì)算各單一基對(duì)應(yīng)的級(jí)數(shù),即依據(jù)公式(I)獲取為基2、基4或基8時(shí)各自對(duì)應(yīng)的級(jí)數(shù),計(jì)算其級(jí)數(shù)的總和為FFT級(jí)間變換的總級(jí)數(shù)M。如N =128,采用基2和基4混合,將其分解為2的I次冪與4的3次冪乘積,依據(jù)公式(I)可知,Iog^=SJogf = I, M = 3+1 =4。實(shí)際上即為,F(xiàn)FT級(jí)間變換的前三級(jí)采用基4,最后一級(jí)米用基2。對(duì)于混合基來說,當(dāng)進(jìn)行FFT級(jí)間變換時(shí),先依據(jù)基4或基8執(zhí)行FFT級(jí)間變換,最后一級(jí)執(zhí)行基2或基4的運(yùn)算。同樣,通過上述本發(fā)明所提供的方法,基于FFT級(jí)間的變換和依據(jù)行、列循環(huán)移位的方法,實(shí)現(xiàn)并行分支蝶形單元FFT地址映射,能夠解決并行分支蝶形單元運(yùn)算時(shí)FFT的級(jí)間數(shù)據(jù)讀寫問題,并且可采用普通常用的低成本單端口或雙端口存儲(chǔ)器實(shí)現(xiàn)并行FFT運(yùn)算,進(jìn)一步降低了實(shí)現(xiàn)成本與復(fù)雜度。此外,針對(duì)上述本發(fā)明所公開的地址映射方法既可用于基4、基8的高效實(shí)現(xiàn),也可用于基2的運(yùn)算范圍。下面給出具體實(shí)施例進(jìn)行詳細(xì)說明。實(shí)施例二請(qǐng)參閱附圖2,為本發(fā)明示出的一種并行分支蝶形單元FFT 64點(diǎn)DIF4地址變換的示意流程圖,具體的變換流程如下所述如圖2所示,按照DIF即按照頻率抽取的方式,共采樣(抽取)了 64個(gè)點(diǎn),按照 FFT的基4進(jìn)行運(yùn)算,即D的取值為4,N的取值為64。由此,可以根據(jù)公式⑴得出,F(xiàn)FT的總級(jí)數(shù)M為3,依次該64點(diǎn)DIF4的FFT變換的中間級(jí)數(shù)為2級(jí),如圖2中示出的A和B,其中,A表示第一級(jí)變換存儲(chǔ)體組,B表示第二級(jí)變換存儲(chǔ)體組。如圖2所示,兩級(jí)變換中的兩個(gè)存儲(chǔ)體組分別為組I 中包括,RAMAl、RAMA2、RAMA3、RAMA4 ;組2 中包括,RAMBI、RAMB2、RAMB3、RAMB4。在已知上述基本條件的基礎(chǔ)上,首先,將待變換數(shù)據(jù)(即獲取的采樣點(diǎn))按照如圖2順序依次寫入存儲(chǔ)體組I中。由于是基4的并行運(yùn)算,因此,按照并行讀出的過程,從組I的4個(gè)存儲(chǔ)體中并行讀出4個(gè)數(shù)據(jù),第一組為0、16、32和48地址中的待處理數(shù)據(jù)(后續(xù)說明中讀取的數(shù)據(jù)用標(biāo)識(shí)data的方式進(jìn)行表示,如dataO, datal6, data32, data48等)。經(jīng)蝶形單元處理后并行寫入存儲(chǔ)體組2中的4個(gè)存儲(chǔ)體中,在本發(fā)明所要解決的問題中,主要是要在不影響級(jí)間的并行運(yùn)算的基礎(chǔ)上完成待處理數(shù)據(jù)或中間數(shù)據(jù)的并行讀取和寫入。因此,在本發(fā)明所提供的方法中,為了不影響第二級(jí)并行計(jì)算,寫入規(guī)則如圖2所示,即先將第一級(jí)中的一塊邏輯塊分割成對(duì)應(yīng)第二級(jí)中的四塊邏輯塊并分別對(duì)其編號(hào);然后,依據(jù)行、列循環(huán)移位的方式進(jìn)行并行的寫入。具體為將dataO寫入存儲(chǔ)體組2中第一個(gè)邏輯塊的第一個(gè)存儲(chǔ)體RAMBl中;將datal6寫入第二個(gè)邏輯塊對(duì)應(yīng)dataO存儲(chǔ)體行、列移位后的存儲(chǔ)體RAMB2中;將data32寫入第三個(gè)邏輯塊對(duì)應(yīng)datal6存儲(chǔ)體行、列移位后的存儲(chǔ)體RAMB3中;將data48寫入第四個(gè)邏輯塊對(duì)應(yīng)data32存儲(chǔ)體行、列移位后的存儲(chǔ)體RAMB4中。完成上述第一級(jí)中的第一組并行輸出的待處理數(shù)據(jù)進(jìn)行第一級(jí)變換A后并行寫入至第二級(jí)中。同理,針對(duì)第二組并行輸出的待處理數(shù)據(jù)datal、datal7、data33和data49進(jìn)行第一級(jí)變換A后并行寫入的方式如圖2所示,即將datal寫入存儲(chǔ)體組2中第一個(gè)邏輯塊對(duì)應(yīng)dataO位置循環(huán)行、列移位后的存儲(chǔ)體RAMB2中;datal7寫入存儲(chǔ)體組2中第二個(gè)邏輯塊對(duì)應(yīng)datal6位置循環(huán)行、列移位后的存儲(chǔ)體RAMB3中;data33寫入存儲(chǔ)體組2中第三個(gè)邏輯塊對(duì)應(yīng)data32位置循環(huán)行、列移位后的存儲(chǔ)體RAMB4中;data49寫入存儲(chǔ)體組2中第四個(gè)邏輯塊對(duì)應(yīng)data48位置循環(huán)行、列移位后的存儲(chǔ)體RAMBl中。需要說明的是,對(duì)于后續(xù)從第一級(jí)中并行輸出的數(shù)據(jù)再寫入時(shí),都依據(jù)之前寫入數(shù)據(jù)的位置進(jìn)行循環(huán)行、列移位。該循環(huán)行、列移位的范圍即整個(gè)邏輯塊。如圖2所示,針對(duì)第二級(jí)變換B,按照同樣的方式將上一級(jí)中的邏輯塊對(duì)應(yīng)分割成16塊邏輯塊,上一級(jí)中的一塊邏輯塊各對(duì)應(yīng)其分割而成的四個(gè)邏輯塊。同樣,在進(jìn)行第二級(jí)變換B的過程中,其方向?yàn)閺拇鎯?chǔ)體組2中按組并行讀取待處理數(shù)據(jù)或中間數(shù)據(jù)寫入至存儲(chǔ)體組I中。寫入規(guī)則如圖2所示,其具體過程與進(jìn)行第一級(jí)變換A的過程相同。如從存儲(chǔ)體組2中并行輸出的第一組待處理數(shù)據(jù)為dataO、data4、data8、datal2,將dataO寫入存儲(chǔ)體組I中第一個(gè)邏輯塊的第一個(gè)存儲(chǔ)體RAMAl中;將data4寫入第二個(gè)邏輯塊對(duì)應(yīng)dataO存儲(chǔ)體行、列移位后的存儲(chǔ)體RAMA2中;將data8寫入第三個(gè)邏輯塊對(duì)應(yīng)data4存儲(chǔ)體行、列移位后的存儲(chǔ)體RAMA3中;將datal2寫入第四個(gè)邏輯塊對(duì)應(yīng)data8存儲(chǔ)體行、列移位 后的存儲(chǔ)體RAMA4中。同理,針對(duì)第二組并行輸出的待處理數(shù)據(jù)datal3、datal、data5和data9,如圖2所示,將datal3寫入存儲(chǔ)體組I中第一個(gè)邏輯塊對(duì)應(yīng)dataO位置循環(huán)行、列移位后的存儲(chǔ)體RAMAl中第四邏輯塊中;datal寫入存儲(chǔ)體組I中第二個(gè)邏輯塊對(duì)應(yīng)data4位置循環(huán)行、列移位后的存儲(chǔ)體RAMA2中的第一邏輯塊中;data5寫入存儲(chǔ)體組I中第二個(gè)邏輯塊對(duì)應(yīng)data8位置循環(huán)行、列移位后的存儲(chǔ)體RAMA3中的第三個(gè)邏輯塊中;data9寫入存儲(chǔ)體組I中第四個(gè)邏輯塊對(duì)應(yīng)datal2位置循環(huán)行、列移位后的存儲(chǔ)體RAMA4中的第三塊邏輯塊中。需要說明的是,,上一級(jí)中的一個(gè)邏輯塊對(duì)應(yīng)的存儲(chǔ)體中存儲(chǔ)的待處理數(shù)據(jù),每一次進(jìn)行并行寫入以及循環(huán)行、列移位時(shí)都針對(duì)其分割而成的下一級(jí)中對(duì)應(yīng)的邏輯塊進(jìn)行,即如圖2中進(jìn)行第二級(jí)變換B時(shí)的寫入循環(huán)方式所示。實(shí)施例三在上述本發(fā)明實(shí)施例公開的基礎(chǔ)上,如圖3所示,本發(fā)明還公開了一種并行分支蝶形單元FFT 64點(diǎn)DIF8地址變換的示意流程圖,具體的變換流程如下所述如圖3所示,按照DIF即按照頻率抽取的方式,共采樣(抽取)了 64個(gè)點(diǎn),按照FFT的基8進(jìn)行運(yùn)算,即D的取值為8,N的取值為64。由此,可以根據(jù)公式⑴得出,F(xiàn)FT的總級(jí)數(shù)M為2,依次該64點(diǎn)DIF4的FFT變換的中間級(jí)數(shù)為I級(jí),如圖3中示出的A表示第一級(jí)變換。如圖3所示,兩級(jí)變換中的兩個(gè)存儲(chǔ)體組分別為組I 中包括,RAMAl、RAMA2、RAMA3、RAMA4、RAMA5、RAMA6、RAMA7、RAMA8 ;組2 中包括,RAMBI、RAMB2、RAMB3、RAMB4、RAMB5、RAMB6、RAMB7、RAMB8。在已知上述基本條件的基礎(chǔ)上,首先,將待變換數(shù)據(jù)(即獲取的采樣點(diǎn))按照如圖3順序依次寫入存儲(chǔ)體組I中。在并行分支的蝶形單元進(jìn)行處理的過程中,將存儲(chǔ)體組I中的8個(gè)數(shù)據(jù)并行讀出,處理后再并行寫入存儲(chǔ)體組2中。為了不影響第二級(jí)FFT的數(shù)據(jù)處理,并行讀出的8個(gè)數(shù)據(jù)即0地址、8地址、16地址、24地址、32地址、40地址、48地址和56地址中的數(shù)據(jù)(n地址的數(shù)據(jù)后面均采用data的形式加以標(biāo)示)采用如圖方法寫入存儲(chǔ)體組2中。8個(gè)數(shù)據(jù)被依次寫入不同的邏輯塊中,且在存儲(chǔ)體即列上予以移位。后續(xù)的數(shù)據(jù)的寫入方式也相同,列移位時(shí)為循環(huán)移位。通過上述本發(fā)明所述的具體實(shí)施例可知,基于FFT級(jí)間的變換和依據(jù)行、列循環(huán)移位的方法,實(shí)現(xiàn)并行分支蝶形單元FFT地址映射,能夠解決并行分支蝶形單元運(yùn)算時(shí)FFT的級(jí)間數(shù)據(jù)讀寫問題,并且可采用普通常用的低成本單端口或雙端口存儲(chǔ)器實(shí)現(xiàn)并行FFT運(yùn)算,進(jìn)一步降低了實(shí)現(xiàn)成本與復(fù)雜度。
      需要說明的是,當(dāng)采樣得到的運(yùn)算點(diǎn)數(shù),即采樣點(diǎn)數(shù)N不為4或8的整數(shù)次冪時(shí),在進(jìn)行并行分支蝶形單元FFT地址映射的過程中,依照上述變換的方法,先進(jìn)行基4或基8的變換,最后一級(jí)則采用基2或基4的運(yùn)算方式完成即可。此外,針對(duì)多級(jí)基的處理時(shí),列和行的移位均為循環(huán)移位,同樣的,列的循環(huán)范圍為存儲(chǔ)體組中存儲(chǔ)體的個(gè)數(shù),行的循環(huán)范圍是邏輯塊中所包含的每個(gè)存儲(chǔ)體的地址個(gè)數(shù)。上述本發(fā)明公開的實(shí)施例中詳細(xì)描述了一種并行分支蝶形單元FFT地址映射方法,對(duì)于本發(fā)明的方法可采用多種形式的裝置實(shí)現(xiàn),因此本發(fā)明還公開了一種并行分支蝶形單元FFT地址映射裝置,下面給出具體的實(shí)施例進(jìn)行詳細(xì)說明。請(qǐng)參閱附圖4,為本發(fā)明公開的一種并行分支蝶形單元的快速傅里葉變換FFT的 地址映射裝置,即FFT實(shí)現(xiàn)的結(jié)構(gòu)示意圖。主要包括主控單元101、地址產(chǎn)生單元102、旋轉(zhuǎn)因子存儲(chǔ)器103、第一內(nèi)部存儲(chǔ)體組104、第二內(nèi)部存儲(chǔ)體組105、并行分支蝶形單元106和外部存儲(chǔ)器107。并行分支蝶形單元組106為主要單元,用于經(jīng)主控單元控制確定FFT的基數(shù),進(jìn)行FFT級(jí)間運(yùn)算。第一內(nèi)部存儲(chǔ)體組104和第二內(nèi)部存儲(chǔ)體組105,用于存儲(chǔ)進(jìn)行FFT級(jí)間變換時(shí),行按邏輯塊移一位、列按存儲(chǔ)體移一位的循環(huán)移位方式并行寫入的待處理數(shù)據(jù)或中間數(shù)據(jù)。地址產(chǎn)生單元102,用于向所述旋轉(zhuǎn)因子存儲(chǔ)器103、所述外部存儲(chǔ)器107、所述第一內(nèi)部存儲(chǔ)體組104和第二內(nèi)部存儲(chǔ)體組105提供進(jìn)行FFT級(jí)間變換時(shí)讀取的地址。其具體執(zhí)行過程為主控單元101負(fù)責(zé)控制內(nèi)部模塊間的協(xié)調(diào)調(diào)度,主要包括控制地址產(chǎn)生單元為外部存儲(chǔ)器107、第一內(nèi)部存儲(chǔ)體組104和第二內(nèi)部存儲(chǔ)體組105以及旋轉(zhuǎn)因子存儲(chǔ)器103提供讀取地址,同時(shí)還需控制并行分支蝶形單元組106以選擇蝶形單元的基數(shù),其內(nèi)可包含基2、基4或基8的并行分支蝶形單元,采用哪種分支及何時(shí)采用由主控單元加以控制,本發(fā)明的主要變換方法即體現(xiàn)在該單元中,是整個(gè)FFT的運(yùn)算核心。旋轉(zhuǎn)因子存儲(chǔ)器103內(nèi)存有FFT變換所需的旋轉(zhuǎn)因子,為配合FFT的并行計(jì)算,旋轉(zhuǎn)因子也可采用多個(gè)存儲(chǔ)體存儲(chǔ)的形式。第一內(nèi)部存儲(chǔ)體組104和第二內(nèi)部存儲(chǔ)體組105主要用來保存FFT運(yùn)算的中間數(shù)據(jù),均由D個(gè)存儲(chǔ)體組成,D對(duì)應(yīng)FFT運(yùn)算基數(shù)的最大值。綜上所述通過上述本發(fā)明所提供的方法和裝置,基于FFT級(jí)間的變換和依據(jù)行、列循環(huán)移位的方法,實(shí)現(xiàn)并行分支蝶形單元FFT地址映射,通過地址間的映射實(shí)現(xiàn)多組數(shù)據(jù)間的并行讀寫相互之間不產(chǎn)生影響,保證FFT運(yùn)算過程中的連續(xù)性和有效性,能夠解決并行分支蝶形單元運(yùn)算時(shí)FFT的級(jí)間數(shù)據(jù)讀寫問題,并且可采用普通常用的低成本單端口或雙端口存儲(chǔ)器實(shí)現(xiàn)并行FFT運(yùn)算,進(jìn)一步降低了實(shí)現(xiàn)成本與復(fù)雜度。本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對(duì)于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法部分說明即可。結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的 原理和新穎特點(diǎn)相一致的最寬的范圍。
      權(quán)利要求
      1.一種并行分支蝶形單元的快速傅里葉變換FFT的地址映射方法,其特征在于,包括 依據(jù)快速傅里葉變換FFT的采樣點(diǎn)個(gè)數(shù)確定FFT的基數(shù),及所述基數(shù)對(duì)應(yīng)的FFT級(jí)間變換的總級(jí)數(shù)M ; 按順序?qū)⑺霾蓸狱c(diǎn)存儲(chǔ)至第一存儲(chǔ)體組的存儲(chǔ)體中,所述存儲(chǔ)體的個(gè)數(shù)為當(dāng)前確定FFT的基數(shù)中的最高基的數(shù)值Dmax ; 依據(jù)當(dāng)前確定的基數(shù)在第一存儲(chǔ)體組與第二存儲(chǔ)體組之間執(zhí)行FFT級(jí)間變換,具體為 當(dāng)當(dāng)前級(jí)數(shù)m大于等于I且小于M時(shí),將存儲(chǔ)于當(dāng)前級(jí)的存儲(chǔ)體中的待處理數(shù)據(jù)或中間數(shù)據(jù)依據(jù)列按邏輯塊移一位、行按存儲(chǔ)體移一位的循環(huán)移位方式,并行寫入下一級(jí)的 A=個(gè)不同邏輯塊中,所述m的取值范圍為I M ;循環(huán)執(zhí)行上述FFT級(jí)間變換至當(dāng)前級(jí)數(shù)m等于M。
      2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述執(zhí)行FFT級(jí)間變換時(shí),將當(dāng)前級(jí)m中的A=個(gè)邏輯塊進(jìn)行劃分,且一個(gè)邏輯塊對(duì)應(yīng)劃分為下一級(jí)的D個(gè)邏輯塊。
      3.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述循環(huán)移位的范圍包括 行的循環(huán)范圍為存儲(chǔ)體組中的存儲(chǔ)體個(gè)數(shù); 列的循環(huán)范圍為各級(jí)每個(gè)邏輯塊中所包含的每個(gè)存儲(chǔ)體的地址個(gè)數(shù)。
      4.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述循環(huán)移位寫入數(shù)據(jù)的方式為先按存儲(chǔ)體進(jìn)行移位,再按邏輯塊進(jìn)行移位,后按邏輯塊內(nèi)列移位后寫入數(shù)據(jù)。
      5.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述循環(huán)移位寫入數(shù)據(jù)的方式為先按邏輯塊內(nèi)列移位,再按邏輯塊進(jìn)行移位,后按存儲(chǔ)體進(jìn)行移位后寫入數(shù)據(jù)。
      6.根據(jù)權(quán)利要求I 5中任意一項(xiàng)所述的方法,其特征在于,包括 當(dāng)FFT的采樣點(diǎn)數(shù)為4或8的整數(shù)次冪時(shí),確定FFT的基數(shù)為單一基,所述單一基為基.2、基4或基8 ; 當(dāng)前確定FFT的基數(shù)中的最高基的數(shù)據(jù)Dmax等于所述單一基的數(shù)值; 所述單一基數(shù)對(duì)應(yīng)的FFT級(jí)間變換的總級(jí)數(shù)M為以單一基為底采樣點(diǎn)數(shù)的對(duì)數(shù)。
      7.根據(jù)權(quán)利要求I 5中任意一項(xiàng)所述的方法,其特征在于,包括 當(dāng)FFT的采樣點(diǎn)數(shù)不為4或8的整數(shù)次冪時(shí),確定FFT的基數(shù)為混合基,所述混合基為基2、基4或基8的任意組合; 當(dāng)前確定FFT的基數(shù)中的最高基的數(shù)據(jù)Dmax為混合基數(shù)中的最高基的數(shù)值; 所述混合基對(duì)應(yīng)的FFT級(jí)間變換的總級(jí)數(shù)M具體為將不為4或8的整數(shù)次冪的采樣點(diǎn)數(shù)分解為混合基中各單一基的整數(shù)次冪數(shù)值的乘積; 計(jì)算各所述單一基對(duì)應(yīng)的級(jí)數(shù),獲取所述混合基中各單一基對(duì)應(yīng)的級(jí)數(shù)的總和為總級(jí)數(shù)M ; 當(dāng)進(jìn)行FFT級(jí)間變換時(shí),先依據(jù)基4或基8執(zhí)行FFT級(jí)間變換,最后一級(jí)執(zhí)行基2或基4的運(yùn)算。
      8.一種并行分支蝶形單元的快速傅里葉變換FFT的地址映射裝置,包括主控單元、旋轉(zhuǎn)因子存儲(chǔ)器和外部存儲(chǔ)器,其特征在于,還包括 并行分支蝶形單元組,用于經(jīng)主控單元控制確定FFT的基數(shù),進(jìn)行FFT級(jí)間運(yùn)算; 第一內(nèi)部存儲(chǔ)體組和第二內(nèi)部存儲(chǔ)體組,用于存儲(chǔ)進(jìn)行FFT級(jí)間變換時(shí),列按邏輯塊移一位、行按存儲(chǔ)體移一位的循環(huán)移位方式并行寫入或讀出的待處理數(shù)據(jù)或中間數(shù)據(jù);地址產(chǎn)生單元,用于向所述旋轉(zhuǎn)因子存儲(chǔ)器、所述外部存儲(chǔ)器、所述第一內(nèi)部存儲(chǔ)體組 和第二內(nèi)部存儲(chǔ)體組提供進(jìn)行FFT級(jí)間變換時(shí)讀取的地址。
      全文摘要
      本發(fā)明公開了一種并行分支蝶形單元的FFT的地址映射方法及裝置,其方法包括依據(jù)FFT的采樣點(diǎn)個(gè)數(shù)確定基數(shù)及FFT級(jí)間變換的總級(jí)數(shù);按順序?qū)⒉蓸狱c(diǎn)存儲(chǔ)至第一存儲(chǔ)體組的存儲(chǔ)體中;執(zhí)行FFT級(jí)間變換,當(dāng)當(dāng)前級(jí)數(shù)m大于等于1且小于M時(shí),將存儲(chǔ)于當(dāng)前級(jí)的存儲(chǔ)體中的待處理數(shù)據(jù)或中間數(shù)據(jù)依據(jù)列按邏輯塊移一位、行按存儲(chǔ)體移一位的循環(huán)移位方式,并行寫入下一級(jí)的個(gè)不同邏輯塊中;直至當(dāng)前級(jí)數(shù)m等于M時(shí)停止級(jí)間變換。通過上述基于FFT級(jí)間的變換和依據(jù)行、列循環(huán)移位的方法,實(shí)現(xiàn)并行分支蝶形單元FFT地址映射,即通過地址間的映射實(shí)現(xiàn)多組數(shù)據(jù)間的并行讀寫相互之間不產(chǎn)生影響,保證FFT運(yùn)算過程中的連續(xù)性和有效性。
      文檔編號(hào)G06F17/14GK102855222SQ20111017552
      公開日2013年1月2日 申請(qǐng)日期2011年6月27日 優(yōu)先權(quán)日2011年6月27日
      發(fā)明者亓中瑞, 陳杰, 曲文澤, 瞿?;?申請(qǐng)人:中國(guó)科學(xué)院微電子研究所
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1