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

實現(xiàn)fft/ifft變換的電路及方法

文檔序號:6442349閱讀:417來源:國知局
專利名稱:實現(xiàn)fft/ifft變換的電路及方法
技術領域
本發(fā)明涉及信號處理技術領域,特別涉及一種實現(xiàn)FFT/IFFT變換(Fast FourierTransformat ion/Inver se Fast Fourier Transformation,快速傅里葉變換 / 快速傅里葉逆變換)的電路及方法。
背景技術
近年來,隨著集成電路技術和醫(yī)療電子行業(yè)的發(fā)展,諸如人體傳感器網(wǎng)絡(bodysensor network)中的節(jié)點處理(Processing On Node)等新技術也隨之產(chǎn)生,便攜式、穿戴式等醫(yī)療電子設備受到大家的歡迎。這些設備主要是基于電池供電的,所以能量消耗是設備好壞的一個重要衡量指標?,F(xiàn)有的FFT/IFFT —般都是用PC (Personal Computer)機來實現(xiàn)的,但是軟件實現(xiàn)的方式存在占用指令周期長,吞吐量小,可擴展性差等缺點。因此又出現(xiàn)了通過硬件來實現(xiàn)的方法,目前硬件實現(xiàn)FFT/IFFT主要有三種方式:數(shù)字信號處理單元(Digital SignalProcessor,DSP),現(xiàn)場可編程門陣列(Field Programmable Gate Array,FPGA)和專用集成電路(Application Specific Integrated Circuit, ASIC)。其中,1、DSP具有乘法及加法單元,實現(xiàn)FFT/IFFT靈活、方便,但是計算能力有限,不適合超長點數(shù)的計算;2、FPGA實現(xiàn)方法計算速度難以提高,功耗大,不適合量產(chǎn);3、專用集成電路(ASIC)速度快,功耗低。綜合考慮各方面的因素,所以目前實現(xiàn)能量感知的FFT/IFFT主要采用ASIC的實現(xiàn)方法。但利用ASIC實現(xiàn)方法的能量感知(Energy-aware) FFT/IFFT仍存在可擴展性差等缺點。

發(fā)明內(nèi)容
因此,本發(fā)明提供一種實現(xiàn)FFT/IFFT變換的電路及方法,其具備能量感知能力、可擴展性好且功耗低。具體地,本發(fā)明實施例提供的一種實現(xiàn)FFT/IFFT變換的電路,包括第一數(shù)據(jù)存儲單元、第二數(shù)據(jù)存儲單元、控制信號產(chǎn)生單元、蝶形單元組、旋轉因子存儲單元以及地址產(chǎn)生單元。其中,第一數(shù)據(jù)存儲單元與第二數(shù)據(jù)存儲單元分別電連接至第一多路選擇器以接收數(shù)據(jù)序列輸入,并分別電連接至第二多路選擇器以輸出結果數(shù)據(jù)。蝶形單元組通過第三多路選擇器分別電連接至第一數(shù)據(jù)存儲單及第二數(shù)據(jù)存儲單元以讀取蝶形運算所需數(shù)據(jù),通過第四多路選擇器分別電連接至第一數(shù)據(jù)存儲單及第二數(shù)據(jù)存儲單元以回寫蝶形運算結果數(shù)據(jù),并且通過第五多路選擇器電連接至控制信號產(chǎn)生單元以接受控制信號產(chǎn)生單元之控制。旋轉因子存儲單元電連接至蝶形單元組并存儲旋轉因子。地址產(chǎn)生單元電連接至第一數(shù)據(jù)存儲單元、第二數(shù)據(jù)存儲單元、旋轉因子存儲單元以及控制信號產(chǎn)生單元,以接受控制信號產(chǎn)生單元的控制以提供第一數(shù)據(jù)存儲單元、第二數(shù)據(jù)存儲單元及旋轉因子存儲單元工作所需的地址。第一至第五多路選擇器以及旋轉因子存儲單元分別接受控制信號產(chǎn)生單元的控制。在本發(fā)明實施例中,上述第一數(shù)據(jù)存儲單元與第二數(shù)據(jù)存儲單元例如皆為雙端口靜態(tài)隨機存儲器。而且,每個雙端口靜態(tài)隨機存儲器中可劃分出實部模塊與虛部模塊,以分別存儲數(shù)據(jù)序列中各個復數(shù)形式的數(shù)據(jù)點的實部和虛部。旋轉因子存儲單元可選用各種類型的單端口只讀存儲器。另外,在本發(fā)明實施例中,對于數(shù)據(jù)序列長度為N點FFT/IFFT變換,旋轉因子存儲單元中所需存儲的旋轉因子的個數(shù)例如為(I)個。蝶形單元組例如包括多個蝶形單元,每
個蝶形單元執(zhí)行每級蝶形運算中的單個蝶形運算過程中的乘法運算次數(shù)例如配置為三次。本發(fā)明實施例提供的一種實現(xiàn)FFT/IFFT變換的方法,適于應用在包括第一數(shù)據(jù)存儲單元、第二數(shù)據(jù)存儲單元以及與第一、第二數(shù)據(jù)存儲單元電連接的多個蝶形單元的實現(xiàn)FFT/IFFT變換的電路。具體地,實現(xiàn)FFT/IFFT變換的方法包括步驟a d:步驟a:接收并存儲長度為NI點的第一數(shù)據(jù)序列至該第一數(shù)據(jù)存儲單元;步驟b:選用該多個蝶形單元其中之一對存儲于該第一數(shù)據(jù)存儲單元中的該第一
Λ/
數(shù)據(jù)序列進行l(wèi)t)gy級蝶形運算,每級蝶形運算均包括(Y)個蝶形運算,并且將每級蝶形運
算中的每個蝶形運算的結果數(shù)據(jù)回寫至該第一數(shù)據(jù)存儲單元;步驟c:接收 并存儲長度為N2點的第二數(shù)據(jù)序列至該第二數(shù)據(jù)存儲單元;以及步驟d:選用該多個蝶形單元其中之一對存儲于該第二數(shù)據(jù)存儲單元中的該第二
MO
數(shù)據(jù)序列進行級蝶形運算,每級蝶形運算均包括(Y)個蝶形運算,并且將每級蝶形運算中的每個蝶形運算的結果數(shù)據(jù)回寫至該第二數(shù)據(jù)存儲單元。在本發(fā)明實施例中,步驟c例如執(zhí)行于步驟b的執(zhí)行過程中,且步驟d執(zhí)行于步驟b之后;在步驟b及步驟d中,每級蝶形運算中的每個蝶形運算例如僅執(zhí)行三次乘法運算。另外,在本發(fā)明實施例中,當實現(xiàn)FFT/IFFT變換的電路更包括旋轉因子存儲單元時,上述實現(xiàn)FFT/IFFT變換的方法例如還包括步驟:根據(jù)旋轉因子的周期性和對稱性在該
旋轉因子存儲單元中存儲(I)個旋轉因子供步驟b及步驟d使用,其中M為實現(xiàn)FFT/IFFT
4
變換的電路可執(zhí)行蝶形運算的最大數(shù)據(jù)序列長度,且M > NI, M ^ N2。簡而言之,本發(fā)明實施例提出的實現(xiàn)FFT/IFFT變換的電路及方法,在電路設計中采用了流水線的設計結構,提高了處理速度。并且采用多個數(shù)據(jù)存儲單元,例如兩個雙端口 SRAM(Static Random Access Memory,靜態(tài)隨機存儲器)可交替進行信號處理,即其中某個SRAM進行FFT/IFFT運算時,可以初始化另外一個SRAM,在執(zhí)行完FFT/IFFT運算時,可以立即執(zhí)行另外一個SRAM的數(shù)據(jù),提高了連續(xù)數(shù)據(jù)的處理速度。采用單端口只讀存儲器ROM (Read-only Memory,只讀存儲器)作為旋轉因子存儲單元的舉例,將可變(vary bit)的SRAM和ROM集成到一個設計中,可共用電源因而降低了功耗,提高了訪問速度;將ROM的存儲空間降低到原來的1/4,減少了面積的開銷;每個蝶形運算單元中減少乘法器的個數(shù),降低了功耗,減少了面積;因此,較好地實現(xiàn)了低功耗可擴展FFT/IFFT電路的設計。
上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其他目的、特征和優(yōu)點能夠更明顯易懂,以下特舉較佳實施例,并配合附圖,詳細說明如下。


圖1是本發(fā)明實施例的一種實現(xiàn)FFT/IFFT變換的電路的結構框圖。
具體實施例方式為更進一步闡述本發(fā)明為達成預定發(fā)明目的所采取的技術手段及功效,以下結合附圖及較佳實施例,對依據(jù)本發(fā)明提出的實現(xiàn)FFT/IFFT變換的電路及方法其具體實施方式
、方法、步驟、結構、特征及功效,詳細說明如后。本發(fā)明下述實施例提供的實現(xiàn)FFT/IFFT變換的電路,具備能量感知能力、低功耗及可擴展好等優(yōu)點,其采用最簡的基2(Radix_2)算法,結構簡單,實現(xiàn)簡單;在設計中采用了流水線的設計,提高了處理速度。并且采用多個數(shù)據(jù)存儲單元例如兩個雙端口 SRAM可交替進行信號處理,即其中一個SRAM進行FFT/IFFT運算時,可以同步初始化另外一個SRAM,在執(zhí)行完FFT/IFFT運算后,可以立即執(zhí)行另外一個SRAM中存儲的數(shù)據(jù),提高了連續(xù)數(shù)據(jù)的處理速度。采用單端口只讀存儲器ROM作為旋轉因子存儲單元,將可變的SRAM和ROM集成到一個設計中,可共用電源因而降低了功耗,提高了訪問速度;將ROM的存儲空間降低到原來的1/4,減少了面積的開銷。每個蝶形運算單元中減少乘法器的個數(shù),降低了功耗,減少了面積;因此,較好地實現(xiàn)了低功耗可擴展FFT/IFFT電路的設計。本發(fā)明實施例的實現(xiàn)FFT/IFFT變換的電路適用于對不同場景的生物醫(yī)學信號進行處理,也可以適用于其它對能量要求比較高的電池供電的場合,例如一個無線傳感網(wǎng)絡,有成千上萬個電池供電的微傳感器分布在不同的地方,這些微傳感器要發(fā)送數(shù)據(jù)到用戶終端,則需要進行FFI/IFFT處理。請參閱圖1,本發(fā)明實施例的一種實現(xiàn)FFT/IFFT變換的電路的結構框圖。本發(fā)明實施例實現(xiàn)FFT/IFFT變換的電路10主要包括五大部分:地址產(chǎn)生單元11、第一及第二數(shù)據(jù)存儲單元SRAMl及SRAM2例如雙端口靜態(tài)隨機存儲器、旋轉因子存儲單元Tw-ROM例如單端口只讀存儲器、蝶形單元組13、以及控制信號產(chǎn)生單元15。在此,將雙端口靜態(tài)隨機存儲器和單端口只讀存儲器集成到一個系統(tǒng)中,兩者可共用電源,因而大大降低了功耗。本實施例中,第一及第二數(shù)據(jù)存儲單元SRAMl及SRAM2分別電連接至第一多路選擇器MUXl以接收數(shù)據(jù)序列輸入并存儲,并分別電連接至第二多路選擇器MUX2以輸出FFT/IFFT運算結果數(shù)據(jù)。此外,蝶形單元組13通過第三多路選擇器MUX3分別電連接至第一及第二數(shù)據(jù)存儲單元SRAMl及SRAM2以讀取蝶形運算所需數(shù)據(jù),通過第四多路選擇器MUX4分別電連接至第一及第二數(shù)據(jù)存儲單元SRAMl及SRAM2以回寫蝶形運算結果數(shù)據(jù)(進行蝶形運算所需的數(shù)據(jù)讀自哪個數(shù)據(jù)存儲單元,則蝶形運算結果數(shù)據(jù)回存至原數(shù)據(jù)存儲單元內(nèi)),并且通過第五多路選擇器MUX5電連接至控制信號產(chǎn)生單元15以接受控制信號產(chǎn)生單元15的控制。旋轉因子存儲單元Tw-ROM電連接蝶形單元組13并存儲旋轉因子。地址產(chǎn)生單元11電連接至第一及第二數(shù)據(jù)存儲單元SRAMl及SRAM2、旋轉因子存儲單元Tw-ROM以及控制信號產(chǎn)生單元15,以接受控制信號產(chǎn)生單元15的控制,并向第一及第二數(shù)據(jù)存儲單元SRAMl及SRAM2以及旋轉因子存儲單元Tw-ROM提供地址。各個多路選擇器MUXl MUX5以及旋轉因子存儲單元Tw-ROM分別電連接至控制信號產(chǎn)生單元15以接受控制信號產(chǎn)生單元15的控制。具體地,第一數(shù)據(jù)存儲單元SRAMl可劃分為實部模塊SRAM1_R和虛部模塊SRAM1_I兩個部分;類似地,第二數(shù)據(jù)存儲單元SRAM2也可劃分為實部模塊SRAM2_R和虛部模塊SRAM2_L.本實施例 中,第一及第二數(shù)據(jù)存儲單元SRAMl及SRAM2通過第一多路選擇器MUXl接收數(shù)據(jù)序列輸入,而所輸入的數(shù)據(jù)序列具體存儲至第一及第二數(shù)據(jù)存儲單元SRAMl與SRAM2中的哪一個則由控制信號產(chǎn)生單元15提供至第一多路選擇器MUXl的控制信號決定。此外,輸入的數(shù)據(jù)序列中的各個數(shù)據(jù)點通常為復數(shù)形式,且同一數(shù)據(jù)序列中的各個復數(shù)形式的數(shù)據(jù)點的實部存儲在實部模塊SRAM1_R(或SRAM2_R)中,而虛部則存儲在SRAM1_I (或SRAM2_I)中。而數(shù)據(jù)序列的長度,也即數(shù)據(jù)點的個數(shù)定義為N;在此,N的取值例如為8、16、32、...,相應地實現(xiàn)FFT/IFFT變換的電路10則執(zhí)行8點、16點、32點FFT/IFFT運算。第一及第二數(shù)據(jù)存儲單元SRAMl與SRAM2的工作過程大致如下:在第一次初始化的過程中,根據(jù)控制信號產(chǎn)生單元15產(chǎn)生的控制信號選擇是SRAMl還是SRAM2存儲數(shù)據(jù),如果開始初始化的是SRAM1,在接下來FFT/IFFT運算的過程中,因為采用的是流水線結構,蝶形單元組13中某個選定的蝶形單元131運算的結果可以一直存儲到原來的地址中,與SRAM2沒有關系;這與并行結構相比,大大減少了面積的開銷。在SRAMl進行FFT/IFFT運算的過程中,可以初始化SRAM2,當SRAMl所進行的FFT/IFFT運算結束的時候可以直接轉向SRAM2進行另一個數(shù)據(jù)序列的FFT/IFFT運算;在SRAMl及SRAM2皆已經(jīng)初始化后的FFT/IFFT運算過程中,SRAMl和SRAM2可以交替進行工作,這樣節(jié)省了初始化的時間。此外,在輸出SRAMl (或SRAM2)的FFT/IFFT運算結果的過程中,就可以開始SRAM2 (或SRAM1)存儲的數(shù)據(jù)序列的計算;就這種方法而言,在進行連續(xù)大點數(shù)的FFT/IFFT運算過程中,可以顯著地提高工作效率。旋轉因子存儲單元Tw-ROM用來存儲數(shù)據(jù)序列進行FFT/IFFT運算所需的旋轉因
子。設進行N點FFT/IFFT運算,則需要N個旋轉因子,但是根據(jù)旋轉因子% 的周期
性和對稱性(如關系式(I)),可以將旋轉因子存儲單元Tw-ROM中所需存儲的旋轉因子的個數(shù)降低到Ν/4個。因此采用這個設計思想,降低了旋轉因子存儲單元Tw-ROM的面積和功耗。在計算的過程中,根據(jù)控制信號產(chǎn)生單元15提供至旋轉因子存儲單元Tw-ROM的控制信號和計算的精度選擇合適的位寬(bit width)。
權利要求
1.一種實現(xiàn)FFT/IFFT變換的電路,其特征在于,包括: 第一數(shù)據(jù)存儲單元和第二數(shù)據(jù)存儲單元,分別與第一多路選擇器電連接,以接收數(shù)據(jù)序列輸入;同時該第一數(shù)據(jù)存儲單元和該第二數(shù)據(jù)存儲單元還分別與第二多路選擇器電連接,以輸出結果數(shù)據(jù); 控制信號產(chǎn)生單元; 蝶形單元組,通過第三多路選擇器分別電連接至該第一數(shù)據(jù)存儲單元與該第二數(shù)據(jù)存儲單元以讀取蝶形運算所需數(shù)據(jù),通過第四多路選擇器分別電連接至該第一數(shù)據(jù)存儲單元與該第二數(shù)據(jù)存儲單元以回寫蝶形運算結果數(shù)據(jù),并通過第五多路選擇器電連接至該控制信號產(chǎn)生單元以接受該控制信號產(chǎn)生單元之控制; 旋轉因子存儲單元,電連接至蝶形單元組并存儲旋轉因子;以及地址產(chǎn)生單元,電連接至該第一數(shù)據(jù)存儲單元、該第二數(shù)據(jù)存儲單元、該旋轉因子存儲單元以及該控制信號產(chǎn)生單元,以接受該控制信號產(chǎn)生單元的控制向該第一數(shù)據(jù)存儲單元、該第二數(shù)據(jù)存儲單元及該旋轉因子存儲單元提供地址; 其中該第一至該第五多路選擇器以及該旋轉因子存儲單元分別接受該控制信號產(chǎn)生單元的控制。
2.如權利要求1所述的實現(xiàn)FFT/IFFT變換的電路,其特征在于,該第一數(shù)據(jù)存儲單元與該第二數(shù)據(jù)存儲單元皆為雙端口靜態(tài)隨機存儲器。
3.如權利要求1所述的實現(xiàn)FFT/IFFT變換的電路,其特征在于,該第一數(shù)據(jù)存儲單元與該第二數(shù)據(jù)存儲單元中的每一個包括實部模塊與虛部模塊以分別存儲數(shù)據(jù)序列中各個復數(shù)形式的數(shù)據(jù)點的實部和虛部。
4.如權利要求1所述的實現(xiàn)FFT/IFFT變換的電路,其特征在于,該旋轉因子儲存單元為單端口只讀存儲器。
5.如權利要求1所述的實現(xiàn)FFT/IFFT變換的電路,其特征在于,對于數(shù)據(jù)序列長度為N點FFT/IFFT變換,該旋轉因子存儲單元所需存儲的旋轉因子的個數(shù)為(|)。
6.如權利要求1所述的實現(xiàn)FFT/IFFT變換的電路,其特征在于,該蝶形單元組包括多個蝶形單元,每個蝶形單元執(zhí)行每級蝶形運算中的單個蝶形運算過程中的乘法運算次數(shù)配置為三次。
7.一種實現(xiàn)FFT/IFFT變換的方法,其特征在于,該實現(xiàn)FFT/IFFT變換的方法適于應用在包括第一數(shù)據(jù)存儲單元、第二數(shù)據(jù)存儲單元以及與該第一、第二數(shù)據(jù)存儲單元電連接的多個蝶形單元的實現(xiàn)FFT/IFFT變換的電路,該實現(xiàn)FFT/IFFT變換的方法包括步驟: 步驟a:接收并存儲長度為NI點的第一數(shù)據(jù)序列至該第一數(shù)據(jù)存儲單元; 步驟b:選用該多個蝶形單元其中之一對存儲于該第一數(shù)據(jù)存儲單元中的該第一數(shù)據(jù)序列進行級蝶形運算,每級蝶形運算均包括(f)個蝶形運算,并且將每級蝶形運算中的每個蝶形運算的結果數(shù)據(jù)回寫至該第一數(shù)據(jù)存儲單元; 步驟c:接收并存儲長度為N2點的第二數(shù)據(jù)序列至該第二數(shù)據(jù)存儲單元;以及 步驟d:選用該多個蝶形單元其中之一對存儲于該第二數(shù)據(jù)存儲單元中的該第二數(shù)據(jù)Μ 序列進行1(5gy級蝶形運算,每級蝶形運算均包括(]_)個蝶形運算,并且將每級蝶形運算中的每個蝶形運算的結果數(shù)據(jù)回寫至該第二數(shù)據(jù)存儲單元。
8.如權利要求7所述的實現(xiàn)FFT/IFFT變換的方法,其特征在于,步驟c執(zhí)行于步驟b的執(zhí)行過程中,且步驟d執(zhí)行于步驟b之后。
9.如權利要求7所述的實現(xiàn)FFT/IFFT變換的方法,其特征在于,在步驟b及步驟d中,每級蝶形運算中的每個蝶形運算執(zhí)行三次乘法運算。
10.如權利要求7所述的實現(xiàn)FFT/IFFT變換的方法,其特征在于,該實現(xiàn)FFT/IFFT變換的電路更包括旋轉因子存儲單元,該實現(xiàn)FFT/IFFT變換的方法還包括步驟: 根據(jù)旋轉因子的周期性和對稱性在該旋轉因子存儲單元中存儲(f)個旋轉因子供步驟b及步驟d使用,其中M為該實現(xiàn)FFT/IFFT變換的電路可執(zhí)行蝶形運算的最大數(shù)據(jù)序列長度,且M彡NLM ^ N2。
全文摘要
本發(fā)明涉及實現(xiàn)FFT/IFFT變換的電路及方法。該電路包括第一及第二數(shù)據(jù)存儲單元、控制信號產(chǎn)生單元、蝶形單元組、旋轉因子存儲單元及地址產(chǎn)生單元。第一及第二數(shù)據(jù)存儲單元通過第一多路選擇器接收數(shù)據(jù)序列輸入并通過第二多路選擇器以輸出結果數(shù)據(jù),第一、第二多路選擇器接受控制信號產(chǎn)生單元之控制。蝶形單元組電連接至第一、第二數(shù)據(jù)存儲單元,旋轉因子存儲單元及控制信號產(chǎn)生單元以在控制信號產(chǎn)生單元的控制下進行蝶形運算。地址產(chǎn)生單元接受控制信號產(chǎn)生單元的控制向第一、第二數(shù)據(jù)存儲單元及旋轉因子存儲單元提供地址。本發(fā)明提供的實現(xiàn)FFT/IFFT變換的電路及方法,具有能量感知能力、功耗低、數(shù)據(jù)點數(shù)及字長可擴展性好等優(yōu)點。
文檔編號G06F17/14GK103176950SQ20111043077
公開日2013年6月26日 申請日期2011年12月20日 優(yōu)先權日2011年12月20日
發(fā)明者張鳳娟, 聶澤東, 王磊 申請人:中國科學院深圳先進技術研究院
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
邹平县| 东兰县| 黄浦区| 杭锦后旗| 法库县| 侯马市| 沁源县| 林州市| 大名县| 固阳县| 轮台县| 宜城市| 高陵县| 犍为县| 庆城县| 康乐县| 稻城县| 廉江市| 北海市| 门源| 和田县| 得荣县| 和政县| 河间市| 洛浦县| 台湾省| 宝应县| 仁寿县| 册亨县| 宜章县| 河北区| 桦川县| 商城县| 郑州市| 通榆县| 凯里市| 大新县| 丰城市| 增城市| 浪卡子县| 湖南省|