專利名稱:Turbo編碼流水處理裝置及方法
技術領域:
本發明涉及寬帶碼分多址(WCDMA)移動通信系統,特別涉及一種基站高速下行分組接入(HSDPA)處理技術中高速下行鏈路共享信道(HS-DSCH)的Turbo碼編碼處理裝置及方法。
背景技術:
第三代合作項目(3GPP)WCDMA技術規范中將Turbo編碼作為誤碼率10-6以下數據業務的信道編碼,應用已經非常廣泛,Turbo編碼算法在3GPPTS25.212協議文檔中有詳細的描述,本文中將引用標準Turbo編碼算法中的部分公式及變量定義。標準的Turbo碼編碼器由兩個相同的帶有反饋機制的遞歸系統卷積碼編碼器和一個內交織器并行級聯構成,其中,內交織器設計非常復雜,是Turbo碼編碼器的核心模塊,該內交織器的主要作用是完成交織處理,即在輸出數據前重新排列數據幀中數據的順序,包括行內及行間交織。
Turbo碼編碼器由硬件實現,具有速度快的優點,但交織處理的復雜性給硬件實現制造了困難,傳統的硬件Turbo碼編碼器通過兩種方案解決第一種,預存交織表,待編碼序列全部輸入之后,通過查交織表的方式直接得到交織后序列的存儲地址。這種方案優點是處理實時性高;缺點是交織表會隨交織矩陣規模增加而顯著增加,需要很大的硬件內部存儲開銷。
第二種,實時計算交織表,根據交織算法實時計算交織后序列在原始序列中的存儲地址。這種方案的優點是對硬件存儲空間要求有限,僅需存儲原始交織序列;缺點是由于交織算法復雜,每個存儲地址計算需要花費時間較多,硬件實時性差。
WCDMA R5協議版本引入了HSDPA概念,下行鏈路的數據速率最高可達10Mbit/s。為了滿足WCDMA基站系統HSDPA高速處理的需要,對配套的編碼硬件處理實時性要求很高。針對基站系統HSDPA高速處理的要求,傳統的兩種Turbo編碼硬件實現方案中,第一種方案實現成本過高,商業價值低;第二種方案硬件實時性差,無法滿足WCDMA基站系統HSDPA處理的需求。
發明內容
有鑒于此,本發明的主要目的在于提供一種WCDMA系統的Turbo編碼流水處理裝置及方法,能充分保證WCAMA高速下行數據業務情況下Turbo編碼處理的實時性。
為達到上述目的,本發明的技術方案是這樣實現的一種Turbo編碼流水處理裝置,包括碼塊數據存儲單元、交織處理單元和子編碼器單元,待編碼數據經過碼塊數據存儲單元輸入到子編碼器單元,交織處理單元輸出的交織后數據輸入到子編碼器單元,子編碼器單元的輸出數據為編碼后數據;所述碼塊數據存儲單元及交織處理單元中均設置有成對且相互獨立的存儲空間,所述存儲空間分別通過各自的控制單元采用乒乓緩存方式實現空間的管理與控制。
基于上述方案,所述碼塊數據存儲單元中成對且相互獨立的存儲空間為碼塊數據存儲空間1、碼塊數據存儲空間2,所述碼塊數據存儲單元中的控制單元為碼塊數據控制器;所述碼塊數據存儲空間1和碼塊數據存儲空間2,用于緩存待編碼數據,其輸出輸入到子編碼器單元;所述碼塊數據控制器,與所述碼塊數據存儲空間1、碼塊數據存儲空間2、交織處理單元及子編碼器單元控制信號相連,外部控制信號線與所述碼塊數據控制器相連;用于對碼塊數據存儲空間1和碼塊數據存儲空間2進行管理,并負責所述碼塊數據存儲單元與交織處理單元及子編碼器單元之間的同步控制。
基于上述方案,所述交織處理單元中成對且相互獨立的存儲空間為分別由s序列存儲空間1和a序列存儲空間1、s序列存儲空間2和a序列存儲空間2構成的兩組s序列和a序列存儲空間,用于存儲當前傳輸塊和下一傳輸塊的s序列和a序列;所述交織處理單元中的控制單元為預計算子單元,用于計算s序列和a序列以及對s序列和a序列的存儲空間進行管理;所述交織處理單元還包括交織計算子單元,用于依據存儲于s序列和a序列存儲空間中的s序列和a序列進行交織計算;所述交織計算子單元進行交織計算得到交織后數據在碼塊數據存儲空間中的地址,并依據計算出的地址從碼塊數據存儲空間中讀取交織后數據輸入到子編碼器單元;所述交織計算子單元及預計算子單元分別與所述碼塊數據控制器控制信號相連。
基于上述方案,所述碼塊數據控制器通過外部數據線接收外部傳輸塊編碼參數及碼塊參數;所述交織計算子單元通過所述碼塊數據控制器獲取外部傳輸塊編碼參數及碼塊參數、或直接通過外部數據線獲取外部傳輸塊編碼參數及碼塊參數。
一種基于上述Turbo編碼流水處理裝置的Turbo編碼流水處理方法,至少包括碼塊數據輸入處理和交織處理兩部分;所述碼塊數據輸入處理包括判斷碼塊數據存儲單元中是否有空閑的碼塊數據存儲空間,若有,則允許新的待編碼數據進入碼塊數據存儲單元,否則,阻止新的待編碼數據進入;在一個碼塊數據存儲空間輸入數據的同時,允許另一碼塊數據存儲空間向子編碼器單元輸出待編碼數據;所述交織處理包括判斷交織處理單元中是否有空閑的一組s序列存儲空間和a序列存儲空間,若有,則交織處理單元中的預計算子單元開始計算s序列和a序列并將結果存儲于該組序列存儲空間中,否則等待;在交織計算子單元使用一組有效的s序列和a序列進行交織計算的同時,允許預計算子單元進行下一傳輸塊的s序列和a序列的計算。
基于上述方法,進一步地包括如下步驟一個傳輸塊的第一個碼塊數據進入碼塊數據存儲單元時,碼塊數據控制器向預計算子單元發送第一碼塊控制信號,預計算子單元依據收到的信號進行s序列和a序列的計算。
基于上述方法,進一步地包括如下步驟一個傳輸塊的最后一個碼塊數據處理完畢后,交織計算子單元向預計算子單元發送傳輸塊結束控制信號,預計算子單元依據收到的信號釋放當前使用的s序列存儲空間和a序列存儲空間。
基于上述方法,進一步地包括如下步驟所述交織計算子單元處理完當前碼塊數據后,向碼塊數據控制器發送計算完畢的控制信號,碼塊數據控制器依據收到的控制信號釋放當前使用的碼塊數據存儲空間。
基于上述方法,進一步地包括如下步驟預計算子單元在計算完s序列和a序列,并將s序列和a序列存儲于空閑的s序列存儲空間和a序列存儲空間后,向交織計算子單元發送序列有效的控制信號;碼塊數據完全寫入碼塊數據存儲空間時,碼塊數據控制器向交織計算子單元發送碼塊數據有效的控制信號;交織計算子單元在接收到所述序列有效的控制信號和碼塊數據有效的控制信號開始交織計算。
本發明所提出的Turbo編碼流水處理裝置及方法,通過乒乓緩存技術減少了數據的讀取和處理時間,通過預計算技術提高了交織計算的處理效率,從而克服了傳統Turbo編碼硬件裝置內部存儲開銷過大、處理實時性差的缺點,在增加有限硬件開銷的前提下,大幅提高了硬件處理的實時性。
圖1為本發明Turbo編碼流水處理裝置的組成結構及原理示意圖;圖2為本發明所述裝置中碼塊數據控制器數據輸入部分的信號響應及處理流程圖;圖3為本發明所述裝置中碼塊數據控制器數據輸出及空間釋放部分的信號響應及處理流程圖;圖4為本發明所述裝置中預計算子單元s序列、a序列生成部分的信號響應及處理流程圖;圖5為本發明所述裝置中預計算子單元s序列、a序列輸出及空間釋放部分的信號響應及處理流程圖;圖6為本發明所述裝置中交織計算子單元的信號響應及處理流程圖。
具體實施例方式
以下結合附圖描述本發明的優選實施例,在下文的說明書中對涉及Turbo編碼協議方面公知技術的細節未詳細描述,主要描述涉及本發明裝置的功能與原理。
如圖1所示,本發明提出的WCDMA系統的Turbo編碼流水處理裝置從邏輯上分為三大處理模塊,分別是碼塊(code block)數據存儲單元、交織處理單元、子編碼器單元。與現有技術相比,本發明的關鍵主要集中于碼塊數據存儲單元及交織計算處理單元,具體來說,在碼塊數據存儲單元中引入了乒乓緩存技術;在交織處理單元中引入了乒乓緩存技術和預計算技術。圖1中用抽象的數據流向線和控制總線表示出各個主要模塊間、以及模塊內部的數據流向及控制關系,帶箭頭的粗線條表示數據流向,細線條的部分表示模塊間的控制信號連接線。以下分別對各個模塊的組成及其完成的功能進行詳細描述。
碼塊數據存儲單元進一步包括碼塊數據存儲空間1、碼塊數據存儲空間2及碼塊數據控制器三個主要模塊,每塊碼塊數據存儲空間存儲一個碼塊數據,碼塊數據存儲空間大小為最大碼塊規模,最大碼塊規模由Turbo編碼參數確定。碼塊數據存儲單元主要完成以下兩方面的任務一個是,接收并緩存待編碼的碼塊數據,并對碼塊數據存儲空間進行管理;另一個是,進行碼塊數據存儲單元與交織處理單元及子編碼器單元之間的同步控制。
為了提高處理速度,實現流水處理,碼塊數據存儲單元引入了乒乓緩存技術,乒乓緩存技術基本原理是在第1個緩沖周期,將輸入的碼塊數據緩存到碼塊數據存儲空間1中;在第2個緩沖周期,碼塊數據控制器進行輸入數據選擇切換,將輸入的碼塊數據緩存到碼塊數據存儲空間2中,同時,將碼塊數據存儲空間1緩存的第1個緩沖周期的碼塊數據通過碼塊數據控制器的輸出數據選擇,送到子編碼器單元進行處理;第3個緩沖周期,再次切換數據輸入與輸出的碼塊數據存儲空間,如此循環,周而復始。如果兩個碼塊數據存儲空間都寫滿了,則禁止后續的待編碼數據寫入。乒乓緩存技術的引入使得碼塊數據的接收與處理可以相對獨立的同時進行,在對第一個碼塊數據存儲空間的數據進行編碼時,待編碼數據可以寫入第二個碼塊數據存儲空間,從而節省了碼塊數據存取的時間,提高了碼塊數據的處理效率。
碼塊數據控制器主要完成的功能是對兩個碼塊數據存儲空間的讀寫控制、實現碼塊數據存儲單元與交織處理單元及子編碼器單元之間的同步。
對于兩個碼塊數據存儲空間的讀寫控制,當有空閑的碼塊數據存儲空間時允許新的碼塊數據寫入,進行輸入碼塊數據存儲空間的地址選擇及產生相應的寫控制信號;當兩塊存儲空間都存滿時,停止申請新的碼塊數據;在向子編碼器輸出碼塊數據前,進行碼塊數據存儲空間的地址選擇及產生相應的讀控制信號;根據碼塊參數或者根據交織處理單元及子編碼器單元的反饋,判斷是否完成對當前處理的碼塊數據的處理,當一個碼塊數據處理完畢后,釋放該編碼完畢的碼塊數據存儲空間。
對于實現碼塊數據存儲單元與交織處理單元及子編碼器單元之間的同步,當一個碼塊數據完全寫入碼塊數據存儲空間后,向交織處理單元傳送碼塊數據有效的控制信號,該控制信號是交織處理單元中交織計算子單元進行交織計算的必要條件之一。當交織計算子單元處理完一個碼塊數據的最后一位后,要向碼塊數據控制器反饋當前碼塊處理完畢的控制信號;當一個傳輸塊(TB,Transport Block)中的最后一個碼塊數據處理完畢后,就可以釋放交織處理正在使用的s序列存儲空間和a序列存儲空間,因此,碼塊數據控制器還要負責向預計算子單元傳送當前TB處理完畢的控制信號,以便預計算子單元釋放已使用完畢的s序列存儲空間和a序列存儲空間,準備開始計算下一個傳輸塊的s序列和a序列計算。
交織處理單元負責完成交織計算,通過交織計算得到交織后數據在碼塊數據存儲空間中的訪問地址,進而根據該訪問地址從當前正在處理的碼塊數據存儲空間中讀取交織后數據輸入到子編碼器單元。交織處理單元包括預計算子單元、交織計算子單元、兩個s序列存儲空間和兩個a序列存儲空間。s序列存儲空間1和a序列存儲空間1構成一組序列存儲空間,s序列存儲空間2和a序列存儲空間2構成一組序列存儲空間,每一組存儲一個TB的s序列和a序列。預計算子單元負責根據TB編碼參數產生一個TB全部碼塊交織計算需要用到的s序列和a序列,并將其存儲在一組s序列存儲空間和a序列存儲空間中。
本發明的裝置在交織計算過程中引入了預計算技術,以下就預計算原理以及基于的公式進行詳細描述。本發明中引用以下兩個在協議中已定義的序列s序列和U序列,s序列為內部行交織的基本序列,U序列為交織后數據比特在原始比特序列中的地址構成的地址序列,s序列和U序列的定義由公式(1)~公式(3)給出,其中p,v,r,q的含義在協議中已定義,是已知的s(j)=(v×s(j-1))mod(p),j=1,2,...,(p-2),and s(0)=1(1)Ui(j)=s((j×ri)mod(p-1)),j=0,1,...,(p-2) (2)Ui(j)=s(xi(j)) (3)為使交織計算能夠實現流水處理,即在一個時鐘周期(cycle)內輸出一個交織結果,特引入中間變量a、w、x序列,其定義由公式(4)~公式(7)給出xi(j)=(j×ri)mod(p-1) (4)xT(i)(j)=(j×rT(i))mod(p-1)=(j×qi)mod(p-1)(5)wi(j)=xT(i)(j)=(j×rT(i))mod(p-1)=(j×qi)mod(p-1) (6)ai=wi(1)=qimod(p-1) (7)根據公式(7)及公式(6)便可計算出a序列a0=w0(1)=xT(0)(1)a1=w1(1)=xT(1)(1)…aR-1=wR-1(1)=xT(R-1)(1)通過計算a0、a1、...、aR-1可以得到x0(1)、x1(1)、...、xR-1(1)。
假設交織后第i行j列的數據位在原始矩陣中的第T(i)行第UT(i)(j)列,那么,交織計算就是計算得到T(i)、UT(i)(j),即交織后數據在碼塊數據存儲空間中的存儲地址。T(i)在協議中已定義,很方便計算,關鍵是UT(i)(j)的計算。從上面的公式推導可知,s序列是基本序列,如果計算出xT(i)(j),便可根據公式UT(i)(j)=s(xT(i)(j))計算出UT(i)(j)。
本發明使用預計算子單元相對獨立的進行s序列和a序列的計算,在a序列已知的情況下,通過公式(4)~公式(7)可知,交織計算子單元便可通過a序列計算得到xT(i)(1),xT(i)(2)可以通過xT(i)(1)計算得到,xT(i)(j)可以通過xT(i)(j-1)和xT(i)(1)計算得到。計算出x序列后,通過公式(3)便可得到U序列。
當交織計算子單元接收到碼塊數據控制器傳送碼塊數據有效的控制信號、且預計算子單元針對當前TB的s序列和a序列計算完畢時,交織計算子單元開始進行交織計算,交織計算根據預計算得到的s序列和a序列計算出交織后第i行第j列數據在原始矩陣中的行數(T(i))、列數(UT(i)(j)),進而得到交織后數據在碼塊數據存儲空間中的存儲地址。交織計算利用已有的s序列和a序列可以實現流水處理,一個時鐘周期輸出一個交織后數據的存儲地址,再一個時鐘周期從碼塊數據存儲單元中讀出一個交織后數據送入子編碼器進行編碼。
為了使交織計算能夠真正流水處理,交織處理單元也引入了乒乓緩存技術,使用兩組s序列存儲空間和a序列存儲空間,一組存儲編碼正在使用的s序列和a序列,一組存儲下一個TB數據編碼需要使用的s序列和a序列。預計算子單元負責兩組s序列存儲空間和a序列存儲空間的管理。預計算子單元和交織計算子單元分別獨立的進行運算,在交織計算子單元處理當前TB中碼塊數據的同時,預計算子單元便可開始計算產生下一個TB的s序列和a序列。
為了判斷是否是當前TB的最后一個碼塊以及當前碼塊是否處理完畢,交織計算子單元需要知道TB編碼參數及該TB的碼塊參數,本發明不限制兩參數的獲取方式,可由碼塊數據控制器獲得并傳送給交織計算子單元,也可由交織計算子單元直接從外部獲取。預計算子單元在計算s序列、a序列時要用到TB編碼參數,本發明不限制獲取該參數的方式,可通過碼塊數據控制器來傳送,也可由預計算子單元直接從外部獲取。
子編碼器單元是Turbo碼編碼器的編碼部件,如圖1所示,包括子編碼器1、子編碼器2和一個數據輸出控制器,用來完成由碼塊數據存儲單元輸入的待編碼數據①和交織后數據②的Turbo編碼處理,生成校驗1比特和校驗2比特;同時,合并來自碼塊數據存儲單元的系統比特和格柵操作產生的最后4比特系統比特,得到最后的系統比特數據流。子編碼器1、子編碼器2負責完成待編碼比特和交織后比特的編碼工作;數據輸出控制器負責格柵操作的控制以及系統比特、校驗1比特、校驗2比特的輸出選擇。其中,在編碼過程中,子編碼器1編碼之前的數據為系統比特③,子編碼器1編碼之后的比特為校驗1比特④,子編碼器2編碼之后的比特為校驗2比特⑤;在格柵操作過程中,兩個子編碼器依次進行格刪操作,輸出數據流如下xK+1,zk+1,xk+2,zk+2,xk+3,zk+3,x′K+1,z′K+1,x′K+2,z′K+2,x′K+3,z′K+3,這12比特中每三個比特依次為系統比特、校驗1比特、校驗2比特。
以下結合附圖分別對三大模塊的處理流程及信號相應關系進行說明,圖中用圓圈加數字來表示控制信號。
圖2、圖3為碼塊數據存儲單元的信號響應及處理流程圖;步驟110當外部待編碼數據準備好后,產生外部數據請求控制信號11,碼塊數據控制器收到該信號后,依據碼塊數據存儲空間的狀態判斷是否有空閑的碼塊數據存儲空間,若有,則執行步驟111;若沒有,則阻止新的待編碼數據進入,處于循環等待狀態。
步驟111碼塊數據控制器通過外部輸入的傳輸塊編碼參數及碼塊數據參數判斷即將寫入的碼塊是否是一個新的TB的第一個碼塊,若是,則執行步驟112,若否,則表明該碼塊數據屬于前一TB,則執行步驟113;步驟112碼塊數據控制器向預計算子單元發送第一碼塊控制信號12;然后執行步驟113;步驟113碼塊數據控制器給空閑的碼塊數據存儲空間發送空間選擇信號,并在同步時鐘的控制下將新碼塊數據位一個個寫入空閑的碼塊數據存儲單元;當寫入完畢后執行步驟114;在初始情況下,一個TB的第一個碼塊數據首先寫入碼塊數據存儲空間1中;第二個碼塊數據寫入碼塊數據存儲空間2中;第三個碼塊數據在碼塊數據存儲空間1中的碼塊數據處理完畢并被碼塊數據控制器釋放后,存入碼塊數據存儲空間1中,以此類推,交替使用兩個碼塊數據存儲空間。
步驟114碼塊數據控制器向交織計算子單元發送碼塊數據有效的控制信號13,該信號是交織計算子單元進行交織計算的必要條件之一。
由于碼塊數據存儲單元采用了乒乓緩存技術,兩個碼塊數據存儲空間可以相對獨立的進行處理,在一個碼塊數據存儲空間進行寫入的時候,另外一個碼塊數據存儲空間可能正在進行編碼處理。圖3所示的流程與圖2所示的流程可并行處理,圖3的流程是步驟120該步驟需要滿足兩個條件一是待處理碼塊數據有效,二是交織計算子單元向碼塊數據控制器發送了準備就緒的控制信號33;兩個條件滿足后,碼塊數據控制器進行碼塊數據存儲空間的輸出地址選擇,然后向交織計算子單元及子編碼器單元輸出同步時鐘控制信號,在同步時鐘控制信號的控制下,將碼塊數據存儲空間中的待編碼數據及交織計算子單元交織處理后輸出的交織后數據輸出到子編碼器單元。當交織計算子單元完成當前碼塊數據最后一個比特位的處理后,會向碼塊數據控制器發送當前碼塊處理完畢的控制信號31,當碼塊數據控制器接收到該控制信號31時執行步驟121;步驟121碼塊數據控制器釋放使用完畢的碼塊數據存儲空間,然后執行步驟122;步驟122將被釋放的碼塊數據存儲空間狀態標識為空閑,以供后續新的碼塊數據進入。
圖4、圖5、圖6分別為交織處理單元的信號響應及處理流程圖。
圖4及圖5為預計算子單元的信號響應及處理流程圖,如圖4所示,預計算子單元的信號響應及處理流程包括步驟210預計算子單元接收到碼塊數據控制器發送的第一碼塊控制信號12后,根據兩組s序列存儲空間和a序列存儲空間的空間狀態,判斷是否有空閑的s序列存儲空間和a序列存儲空間,若有則執行步驟211;否則繼續等待。
步驟211預計算子單元根據TB編碼參數,開始計算新TB的s序列和a序列,并存儲在空閑的一組s序列存儲空間和a序列存儲空間中,然后執行步驟212;步驟212預計算子單元向交織計算子單元發送該組s序列和a序列數據有效的控制信號21。
由于交織處理單元引入了乒乓緩存技術,兩組s序列存儲空間和a序列存儲空間可以相對獨立的進行處理,在一組s序列存儲空間和a序列存儲空間進行計算的時候,另外一組s序列存儲空間和a序列存儲空間可供交織計算子單元進行交織計算使用。圖5所示的流程與圖4所示的流程可并行處理,圖5的流程包括步驟220預計算子單元進行s序列和a序列存儲空間地址的選擇,為交織計算子單元的交織計算提供所需的s序列和a序列;當交織計算處理完當前TB的最后一個碼塊后將向預計算子單元發送TB結束的控制信號32;然后執行步驟221;步驟221預計算子單元在收到控制信號32后,預計算子單元釋放當前s、a序列占用的序列存儲空間;步驟222預計算子單元將被釋放的s、a序列存儲空間狀態標識為空閑。
圖6為交織計算子單元的信號響應及處理流程圖,如圖6所示,交織計算子單元的信號響應及處理流程包括步驟310交織計算子單元開始交織計算需要滿足兩個條件一是接收到碼塊數據控制器發送的碼塊數據有效的控制信號13;二是接收到預計算子單元發送的當前TB的s、a序列有效的控制信號21;在滿足兩個條件后,交織計算子單元向碼塊數據控制器發送準備就緒信號33;然后執行步驟311;步驟311交織計算子單元在同步時鐘控制信號14的控制下,開始交織計算并輸出交織后數據給子編碼器處理單元,然后執行步驟312;步驟312交織計算子單元判斷當前碼塊處理是否處理完畢,若處理完畢,則執行步驟313;否則繼續執行步驟311;步驟313交織計算子單元向碼塊數據控制器發送當前碼塊數據處理完畢的控制信號31,然后執行步驟314;步驟314交織計算子單元判斷當前碼塊數據是否為當前TB的最后一個碼塊數據,若是則執行步驟315;否則進行下一碼塊數據處理循環,即執行步驟310;步驟315交織計算子單元向預計算子單元發送當前TB結束的控制信號32,然后進行下一碼塊數據處理循環,即執行步驟310;綜上所述,由于本發明采用了雙碼塊數據存儲空間的乒乓緩存設計,節省了數據的讀取時間,提高了系統的吞吐量。又由于本發明采用了雙s序列和a序列存儲空間的設計,在前一個TB編碼的同時,預計算子單元就可以計算下一個TB的s序列和a序列,從而節省了s序列和a序列計算時間。將上述兩項技術應用到HSDPA中HS-DSCH的Turbo碼編碼處理裝置中,輔以必要的邏輯控制便可實現Turbo編碼的流水處理,充分保證了處理的實時性,可以滿足HSDPA高速數據處理的需要。
本發明還可有其它多種實施例,在不背離本發明精神及其實質的情況下,本領域技術人員當可根據本發明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發明所附的權利要求的保護范圍。
權利要求
1.一種Turbo編碼流水處理裝置,其特征在于碼塊數據存儲單元、交織處理單元和子編碼器單元,待編碼數據經過碼塊數據存儲單元輸入到子編碼器單元,交織處理單元輸出的交織后數據輸入到子編碼器單元,子編碼器單元的輸出數據為編碼后數據;所述碼塊數據存儲單元及交織處理單元中均設置有成對且相互獨立的存儲空間,所述存儲空間分別通過各自的控制單元采用乒乓緩存方式實現空間的管理與控制。
2.如權利要求1所述的Turbo編碼流水處理裝置,其特征在于,所述碼塊數據存儲單元中成對且相互獨立的存儲空間為碼塊數據存儲空間1、碼塊數據存儲空間2,所述碼塊數據存儲單元中的控制單元為碼塊數據控制器;所述碼塊數據存儲空間1和碼塊數據存儲空間2,用于緩存待編碼數據,其輸出輸入到子編碼器單元;所述碼塊數據控制器,與所述碼塊數據存儲空間1、碼塊數據存儲空間2、交織處理單元及子編碼器單元控制信號相連,外部控制信號線與所述碼塊數據控制器相連;用于對碼塊數據存儲空間1和碼塊數據存儲空間2進行管理,并負責所述碼塊數據存儲單元與交織處理單元及子編碼器單元之間的同步控制。
3.如權利要求1或2所述的Turbo編碼流水處理裝置,其特征在于,所述交織處理單元中成對且相互獨立的存儲空間為分別由s序列存儲空間1和a序列存儲空間1、s序列存儲空間2和a序列存儲空間2構成的兩組s序列和a序列存儲空間,用于存儲當前傳輸塊和下一傳輸塊的s序列和a序列;所述交織處理單元中的控制單元為預計算子單元,用于計算s序列和a序列以及對s序列和a序列的存儲空間進行管理;所述交織處理單元還包括交織計算子單元,用于依據存儲于s序列和a序列存儲空間中的s序列和a序列進行交織計算;所述交織計算子單元進行交織計算得到交織后數據在碼塊數據存儲空間中的地址,并依據計算出的地址從碼塊數據存儲空間中讀取交織后數據輸入到子編碼器單元;所述交織計算子單元及預計算子單元分別與所述碼塊數據控制器控制信號相連。
4.如權利要求3所述的Turbo編碼流水處理裝置,其特征在于,所述碼塊數據控制器通過外部數據線接收外部傳輸塊編碼參數及碼塊參數;所述交織計算子單元通過所述碼塊數據控制器獲取外部傳輸塊編碼參數及碼塊參數、或直接通過外部數據線獲取外部傳輸塊編碼參數及碼塊參數。
5.一種基于權利要求1所述Turbo編碼流水處理裝置的Turbo編碼流水處理方法,其特征在于,至少包括碼塊數據輸入處理和交織處理兩部分;所述碼塊數據輸入處理包括判斷碼塊數據存儲單元中是否有空閑的碼塊數據存儲空間,若有,則允許新的待編碼數據進入碼塊數據存儲單元,否則,阻止新的待編碼數據進入;在一個碼塊數據存儲空間輸入數據的同時,允許另一碼塊數據存儲空間向子編碼器單元輸出待編碼數據;所述交織處理包括判斷交織處理單元中是否有空閑的一組s序列存儲空間和a序列存儲空間,若有,則交織處理單元中的預計算子單元開始計算s序列和a序列并將結果存儲于該組序列存儲空間中,否則等待;在交織計算子單元使用一組有效的s序列和a序列進行交織計算的同時,允許預計算子單元進行下一傳輸塊的s序列和a序列的計算。
6.如權利要求5所述的Turbo編碼流水處理方法,其特征在于,一個傳輸塊的第一個碼塊數據進入碼塊數據存儲單元時,碼塊數據控制器向預計算子單元發送第一碼塊控制信號,預計算子單元依據收到的信號進行s序列和a序列的計算。
7.如權利要求6所述的Turbo編碼流水處理方法,其特征在于,一個傳輸塊的最后一個碼塊數據處理完畢后,交織計算子單元向預計算子單元發送傳輸塊結束控制信號,預計算子單元依據收到的信號釋放當前使用的s序列存儲空間和a序列存儲空間。
8.如權利要求5至7任一項所述的Turbo編碼流水處理方法,其特征在于,該方法進一步包括所述交織計算子單元處理完當前碼塊數據后,向碼塊數據控制器發送計算完畢的控制信號,碼塊數據控制器依據收到的控制信號釋放當前使用的碼塊數據存儲空間。
9.如權利要求8所述的Turbo編碼流水處理方法,其特征在于,該方法進一步包括預計算子單元在計算完s序列和a序列,并將s序列和a序列存儲于空閑的s序列存儲空間和a序列存儲空間后,向交織計算子單元發送序列有效的控制信號;碼塊數據完全寫入碼塊數據存儲空間時,碼塊數據控制器向交織計算子單元發送碼塊數據有效的控制信號;交織計算子單元在接收到所述序列有效的控制信號和碼塊數據有效的控制信號開始交織計算。
全文摘要
本發明公開了一種寬帶碼分多址數字移動通信系統中有關基站高速下行鏈路共享信道(HS-DSCH)的Turbo碼編碼處理裝置。本發明采用乒乓緩存技術在碼塊數據存儲單元中設置兩個碼塊數據存儲空間,在處理一個碼塊數據的同時可以讀取下一個碼塊數據,節省了數據存取的時間;交織處理單元中設置兩個s、a序列存儲空間,在交織計算的同時可以預計算下一傳輸塊的s、a序列,節省了s、a序列的計算時間。采用本發明的編碼處理裝置克服了傳統的Turbo編碼硬件裝置內部存儲開銷過大或處理實時性差的缺點,保證了WCDMA高速下行數據業務情況下Trubo編碼處理的實時性。
文檔編號H04L1/00GK101060374SQ200710090569
公開日2007年10月24日 申請日期2007年4月11日 優先權日2007年4月11日
發明者陳旭 申請人:中興通訊股份有限公司