1536點fft處理方式及相關設備的制造方法
【技術領域】
[0001] 本申請屬于通信技術領域,尤其是,設及一種1536點FFT處理方式及相關設備。
【背景技術】
[0002] 隨著無線技術的快速發展,在高速無線傳播環境中,未避免多徑效應帶來的 頻率選擇性衰落的運一類干擾,3GPP(HiirdGenerationPartnershipProject,第S 代合作伙伴計劃)組織在LTE(LongTermEvolution,長期演進)/LTE-A(XongTerm EvolutionAdvanced,長期演進增強)中引入了(FDM(0;rthogonalRrequen巧Division Multiplexing,正交頻分復用)技術,該技術將信道劃分為若干個相互正交的獨立子信道, 可W將寬帶頻選衰落在頻帶內轉換成子信道的平坦衰落,從而有效地對抗頻選衰落對通信 系統性能帶來的影響。
[0003] 在實際應用中,由于復雜的應用場景,OFDM系統需要提供對多種帶寬的支持, FFT(化StFourierTransform,快速傅里葉變換)處理器作為(FDM系統的核屯、模塊,在 LTE/LTE-A系統需要完成高速的數據傳輸時,就要求OFDM系統中的FFT處理器能夠處理高 吞吐率的數據。
[0004] 但是現有FFT處理器硬件并不能完全適應上述需求,在針對15M帶寬的處理過程 中,需要進行1536個樣點的FFT變換操作,現有常采用的解決方法有兩種,一種方案為由忍 片公司提供的IPcore(IP核)來完成操作,但對于1536點的FFT處理,忍片公司的IP核 不支持塊浮點操作,導致在實際應用中無法對資源消耗進行靈活配置。另一種方案是利用 忍片公司提供的DFT(DiscreteFourierTransform,離散傅里葉變換)核進行處理,雖然 資源消耗可W控制在一定范圍內,然后處理速度太慢,時延太長,無法滿足系統的實時性要 求。
[00化]因此,當前需要一種新的針對1536點的FFT的處理方案,W便于能夠在滿足系統 數據吞吐率的前提下,保證高運算精度和低資源消耗。
【發明內容】
[0006] 本申請公開了一種1536點FFT處理方法及相關設備,W便于解決現有技術中針對 1536點FFT處理中存在的無法同時保證高數據吞吐率,高運算精度及低資源消耗的問題。
[0007] 本申請實施例公開了一種1536點FFT處理方法,包括: 陽00引 512點FFT處理單元獲取輸入的1536個樣點,將所述1536個樣點轉換為塊浮點格 式后將其劃分為每組包含512個樣點的=組樣點數據組,并分別對每組所述樣點數據組中 的512個樣點進行FFT處理,得到對應的樣點處理數據組,將得到的S組樣點處理數據組發 送至改進型的基3單元;
[0009] 其中,在進行所述FFT處理過程中包括執行防溢出判斷;
[0010] 所述改進型的基3單元接收輸入的=組所述樣點處理數據組,且每次對=個所述 樣點處理數據進行處理,直至完成512次之后,得到全部1536個樣點的FFT處理結果并輸 出;
[0011] 其中,=個所述樣點處理數據分別來自=組樣點處理數據組。
[0012] 優選的,所述分別對每組所述樣點數據組中的512個樣點進行FFT處理,得到對應 的樣點處理數據組的過程包括:
[0013] 采用兵鳥RAM將劃分為每組包含512個樣點的=組樣點數據組進行重排并存儲;
[0014] 獲取存儲于所述兵鳥RAM中的=組樣點數據組,針對每一組樣點數據組采用基2 蝶形運算執行S級蝶形運算,
[0015] 在針對一組樣點數據組按級進行蝶形運算過程中,依據應用場景針對每一級或部 分蝶形運算得到的第一數據序列進行防溢出判斷,并依據判斷結果進行截位操作,得到對 應的第二數據序列;
[0016] 將前S-1級蝶形運算中每一級得到的第一數據序列或進行防溢出判斷得到的第 二數據序列分別存儲于各級蝶形運算對應的雙端口RAM中,將第S級蝶形運算中得到的第 一數據序列或進行防溢出判斷得到的第二數據序列中的數據進行數據格式轉換后并重排 后,得到當前進行蝶形處理的樣點數據組對應的樣點處理數據組,所述樣點處理數據組中 包含各個樣點對應的樣點處理數據;
[0017] 其中,第一級蝶形運算基于所述兵鳥RAM中的樣點數據進行運算,第二級至第S級 蝶形運算在前一時鐘周期內基于上一級所述雙端口RAM的輸入數據序列進行運算。
[0018] 優選的,所述在針對一組樣點數據組按級進行蝶形運算過程中,依據應用場景針 對每一級或部分蝶形運算得到的第一數據序列進行防溢出判斷,并依據判斷結果進行截位 操作,得到對應的第二數據序列;包括:
[0019] 在針對一組樣點數據組按級進行蝶形運算過程中,依據當前的應用場景,可選擇 對每一級蝶形運算得到的第一數據序列進行防溢出判斷,或者,選擇對部分執行蝶形運算 后得到的第一數據序列進行防溢出判斷;
[0020] 當判斷的結果為所述第一數據序列的數據位數比進行蝶形運算的輸入數據序列 的數據位數多兩位,根據輸出的高=位的數值分別對當前得到的第一數據序列進行截位操 作,得到對應的第二數據序列。
[0021] 優選的,所述改進型的基3單元接收輸入的=組所述樣點處理數據組,且每次對 S個所述樣點處理數據進行處理,直至完成512次之后,得到全部1536個樣點的FFT處理 結果并輸出的過程包括:
[0022] 接收輸入的=組所述樣點處理數據組,按照對應的地址關系將=組所述樣點處理 數據組分別存儲于對應的=個兵鳥RAM;
[0023] 針對每一個兵鳥RAM存儲對應的所述樣點處理數據組時,基于所述兵鳥RAM存在 的兩個相對獨立的存儲區域,依次將一組所述樣點處理數據組中的各個樣點處理數據存 入,其中,第一次存入兩個樣點處理數據,當一個存儲區域內的樣點處理數據被讀取后,由 下一個待存入的樣點處理數據覆蓋該存儲區域,依次類推直至512個樣點處理數據都被讀 取;
[0024] 完成512次對所述=個兵鳥RAM的讀取,每次從=個兵鳥RAM中共讀取=個樣點 處理數據,同時對所述S個樣點處理數據進行S路FFT處理得到S路FFT處理結果; W25] 其中,第一路FFT處理為基于旋轉因子啊,對應的快速傅里葉變換式
乘法器和加法器對所述=個樣點處理數據進行處理,得到第一 路FFT處理結果;第二路FFT處理為基于旋轉因子巧^及對應的快速傅里葉變換式
乘法器和加法器對所述=個樣點處理數據進行處理,得到 第二路FFT處理結果;第^路FFT處理為基于旋轉因子巧;^,及對應的快速傅里葉變換式
乘法器和加法器對所述=個樣點處理數據進行處理,得到 第S路FFT處理結果; 陽0%] 將完成512次后得到的全部1536個FFT處理結果按照地址存儲于一個兵鳥RAM 后輸出。
[0027] 一種1536點FFT處理裝置,包括:
[0028] 512點FFT處理單元,用于獲取輸入的1536個樣點,將所述1536個樣點轉換為塊 浮點格式后將其劃分為每組包含512個樣點的=組樣點數據組,并分別對每組所述樣點數 據組中的512個樣點進行FFT處理,得到對應的樣點處理數據組,將得到的S組樣點處理數 據組發送至改進型的基3處理單元;其中,在進行所述FFT處理過程中包括執行防溢出判 斷;
[0029] 改進型的基3處理單元,用于接收輸入的=組所述樣點處理數據組,且每次對= 個所述樣點處理數據進行處理,直至完成512次之后,得到全部1536個樣點的FFT處理結 果并輸出;其中,=個所述樣點處理數據分別來自=組樣點處理數據組。
[0030] 優選的,所述512點FFT處理單元包括:
[0031] 第一數據格式轉換單元,用于獲取輸入的1536個樣點,將所述1536個樣點的數據 格式轉換為塊浮點格式后,并將其劃分為每組包含512個樣點的=組樣點數據組;
[0032] 兵鳥RAM,用于將經過所述第一數據格式轉換單元轉換格式并劃分得到的每組包 含512個樣點的=組樣點數據組進行重排并存儲;
[0033] S個蝶形運算單元,用于獲取存儲于所述兵鳥RAM中的=組樣點數據組,針對每一 組樣點數據組采用基2蝶形運算執行S級蝶形運算,
[0034] 其中,所述每個蝶形運算單元中包含,基2蝶形單元,防溢出單元和雙端口RAM;
[0035] 所述基2蝶形單元,用于對輸入數據序列進行基2蝶形運算,得到第一數據序列; 其中,第一級蝶形運算將所述兵鳥RAM中的樣點數據作為輸入數據序列進行運算,第二級 至第S級蝶形運算在前一時鐘周期內基于上一級所述雙端口RAM的輸入數據序列進行運 算;
[0036] 所述防溢出單元,用于對依據應用場景選擇該級蝶形運算后執行防溢出判斷時, 獲取該級經由所述基2蝶形單元進行基2蝶形運算得到的第一數據序列進行防溢出判斷, 并依據判斷結果進行截位操作,得到對應的第二數據序列;
[0037] 所述雙端口RAM,用于存儲未進行防溢出判斷的第一數據序列或進行防溢出判斷 得到的所述第二數據序列;
[0038] 其中,執行前S-1級蝶形運算單元中每一級得到的第一數據序列或進行防溢出判 斷得到的第二數據序列分別存儲于各級蝶形運算單元中的所述雙端口RAM中;
[0039] 第二數據格式轉換單元,用于對第S級蝶形運算中得到的第一數據序列或進行防 溢出判斷得到的第二數據序列中的數據進行數據格式轉換后并重排后,得到當前進行蝶形 處理的樣點數據組對應的樣點處理數據組并輸出,所述樣點處理數據組中包含各個樣點對 應的樣點處理數據;
[0040] 控制單元,用于控制所述第一數據格式轉換單元,所述兵鳥RAM單元,所述蝶形運 算單元,所述第二數據格式轉換單元執行上述相應操作。
[0041] 優選的,所述用于對依據應用場景選擇該級蝶形運算后執行防溢出判斷時,獲取 該級經由所述基2蝶形單元進行基2蝶形運算得到的第一數據序列進行防溢出判斷,并依 據判斷結果進行截位操作,得到對應的第二數據序列的防溢出單元包括:
[0042] 所述防溢出單元,用于在選擇該級蝶形運算后執行防溢出判斷的情況下,獲取該 級經由所述基2蝶形單元進行基2蝶形運算得到的第一數據序列進行防溢出判斷,當判斷 的結果為所述第一數據序列的數據位數比進行蝶形運算的輸入數據序列的數據位數多兩 位,根據輸出的高=位的數值分別對當前得到的第一數據序列進行