專利名稱:用于解碼器的數(shù)據(jù)重排的制作方法
技術(shù)領(lǐng)域:
概括地說,本發(fā)明涉及接收器中的數(shù)據(jù)排列。更具體地,本發(fā)明涉及用于移動(dòng)通信網(wǎng)絡(luò)的接收器中采用的turbo解碼器的數(shù)據(jù)重排。
背景技術(shù):
在無線的無線電通信系統(tǒng)中,通信鏈路包括發(fā)送器、接收器和連接這兩者的傳播信道。傳播信道并非理想的,因?yàn)樗饘?duì)所發(fā)送的信號(hào)的干擾,這導(dǎo)致收到的數(shù)據(jù)被破壞,這影響了接收器的檢測(cè)和輸出正確數(shù)據(jù)位/符號(hào)(symbol)的性能。為此,在發(fā)送器和接收器中使用各種方法。其中之一是使用信道糾錯(cuò)碼。將糾錯(cuò)用作發(fā)送器的信道編碼,以及接收器的解碼。編碼的目的是以受控方式向所發(fā)送的數(shù)據(jù)添加冗余。通常,這表示,在η 位中發(fā)送m個(gè)信息位,由此生成m/n的碼率。增加的冗余可以是例如奇偶校驗(yàn)信息。奇偶校驗(yàn)位通知了在收到的數(shù)據(jù)中應(yīng)該有多少是“1”的位。實(shí)踐中,信道編碼增加了信號(hào)空間中所發(fā)送的符號(hào)之間的距離。糾錯(cuò)碼的一個(gè)實(shí)例是turbo碼,這需要在發(fā)送器和接收器中分別采用turbo編碼器和turbo解碼器。如圖IA所示,編碼器140利用兩個(gè)相同的卷積編碼器106和110,他們經(jīng)由并行級(jí)聯(lián)而聯(lián)接在一起并通過交織器108分離。示例性方案中,圖IB中示出的turbo 解碼器150還包括兩個(gè)解碼器116和120,他們經(jīng)由串行級(jí)聯(lián)而聯(lián)接在一起并通過交織器 118分離。第一解碼器116輸出所發(fā)送的位的軟判決,第二解碼器120生成硬判決130,即所發(fā)送的位。解碼器150還應(yīng)用反饋環(huán)路112用于重復(fù)解碼過程,以提高硬判決130的可靠性。turbo解碼器150的缺陷是其高復(fù)雜性和高延遲,這包括由第一解碼器116、第二解碼器120生成的延遲以及輸入數(shù)據(jù)被饋送至解碼器150的方式。S卩,解碼器150要求數(shù)據(jù)被按照特定的順序饋送。這不是微不足道的操作,而且引起操作中的延遲。然而,對(duì)于許多應(yīng)用來說,最小化延遲的操作是關(guān)鍵的,以提供足夠的數(shù)據(jù)吞吐量。為此,需要降低解碼過程所需的延遲的方案。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種用于解碼器的數(shù)據(jù)排列的方案。根據(jù)本發(fā)明的一個(gè)方面,提供了一種如權(quán)利要求1所述的方法。根據(jù)本發(fā)明的一個(gè)方面,提供了一種如權(quán)利要求13和25中所述的設(shè)備。根據(jù)本發(fā)明的一個(gè)方面,提供了一種如權(quán)利要求沈中所述的計(jì)算機(jī)程序產(chǎn)品。本發(fā)明的實(shí)施例在從屬權(quán)利要求中有所限定。
下文中,將參照實(shí)施例和附圖詳細(xì)描述本發(fā)明,其中圖IA呈現(xiàn)turbo編碼器;
圖IB呈現(xiàn)turbo解碼器;圖2示出根據(jù)一個(gè)實(shí)施例的用于重排數(shù)據(jù)的設(shè)備;圖3A示出根據(jù)一個(gè)實(shí)施例的格子圖;圖;3B呈現(xiàn)了根據(jù)一個(gè)實(shí)施例的臨時(shí)寄存器;圖4示出根據(jù)一個(gè)實(shí)施例的存儲(chǔ)器;圖5示出根據(jù)一個(gè)實(shí)施例用于重排數(shù)據(jù)的方法;以及圖6示出根據(jù)一個(gè)實(shí)施例用于重排數(shù)據(jù)的方法。
具體實(shí)施例方式以下實(shí)施例是示例性的。盡管說明書可能在文本的一些位置引用了 “一”、“一個(gè)” 或“一些”實(shí)施例,但是這未必表示每個(gè)引用都針對(duì)相同的一(多)個(gè)實(shí)施例,或者特定的特征僅適用于單個(gè)實(shí)施例。不同實(shí)施例的多個(gè)單個(gè)特征也可以被合并,以提供其他實(shí)施例。盡管基于第三代合作伙伴計(jì)劃(3GPP)的長(zhǎng)期演進(jìn)(LTE)或LTE-高級(jí)(LTE-A)描述了本發(fā)明,但是本發(fā)明也可適用于任意其他無線移動(dòng)通信系統(tǒng)。例如,所述實(shí)施例可應(yīng)用于UMTS或全球移動(dòng)通信系統(tǒng)(GSM)。電信通信系統(tǒng)可具有向訂戶終端提供無線業(yè)務(wù)的固定架構(gòu)。圖IA示出根據(jù)一個(gè)實(shí)施例的turbo編碼器140。如上所述,編碼器140包括聯(lián)接在一起但是被交織器108分開的兩個(gè)卷積編碼器106和110。交織器108用于對(duì)通常發(fā)生在脈沖中的差錯(cuò)進(jìn)行隨機(jī)化。在沒有交織器108的情況下,接收到的數(shù)據(jù)的某個(gè)部分可能遭受無法恢復(fù)的嚴(yán)重差錯(cuò)。交織器108改變被發(fā)送的位的順序,從而盡管可能在脈沖中發(fā)生差錯(cuò),但是在接收器進(jìn)行去交織之后,被破壞的位可能不是彼此相鄰而是分散在所接收的數(shù)據(jù)上,在這種情況下糾正差錯(cuò)是可能的。圖IA的編碼器140輸出3個(gè)位塊沒有任何修改的數(shù)據(jù)子塊100、奇偶位(parity bits)的第一子塊102和奇偶位的第二子塊104。因此,圖IA的編碼器140的碼率是1/3。 從3個(gè)子塊形成的輸出可被稱為碼塊。碼塊可以是具有某個(gè)特定長(zhǎng)度的字符串,其經(jīng)過編碼并被發(fā)送給接收器。沒有任何修改的數(shù)據(jù)100也可被稱為碼塊的系統(tǒng)部分。編碼器106 和110可以是例如8狀態(tài)編碼器,每個(gè)都具有3個(gè)存儲(chǔ)器寄存器。這里沒有示出編碼器106 和110的詳細(xì)結(jié)構(gòu)。由于如圖IA所示的編碼器140是有限狀態(tài)機(jī),所以編碼器140的功能可通過格子圖示出。格子圖示出當(dāng)存儲(chǔ)器寄存器包含某個(gè)開始點(diǎn)時(shí)可生成的所有可能狀態(tài)。格子圖的使用是經(jīng)過證明的,因?yàn)椴⒎撬械霓D(zhuǎn)換都是可行的。例如,假設(shè)具有Ivk1和1 的3個(gè)存儲(chǔ)器寄存器的卷積編碼器在寄存器Ivk1和1 中分別包含位“1”、“1”和“0”(狀態(tài)“110”)。 以輸入位(寄存器1 的輸入中)為基礎(chǔ),在下一輪編碼器的寄存器Ivk1和1 可轉(zhuǎn)換成狀態(tài)“011”或狀態(tài)“111”。其他狀態(tài)(例如“110”或“100”)是不可行的。解碼算法也利用這個(gè)思想如果接收的序列不適合格子圖中的某些路徑,則它被伴有誤差地接收。因此,應(yīng)該選擇適合該圖的最近的正確路徑。在系統(tǒng)數(shù)據(jù)100全部被饋送至卷積編碼器106和110之后,可將每個(gè)編碼器的最后1位寄存器的最后內(nèi)容向回反饋給編碼器的輸入端。可對(duì)與編碼器長(zhǎng)度(寄存器的數(shù)目)相等的多個(gè)時(shí)鐘周期重復(fù)該過程。這個(gè)過程被稱為格子終止,并得到編碼器寄存器中的全0模式。它還產(chǎn)生了被稱為尾部位的多個(gè)附加編碼器輸出。尾部位可按某些約定的順序(例如在剩余位之后)被附加至數(shù)據(jù)位100、102和104,并與剩余位一起發(fā)送。圖IB中所示的turbo解碼器150典型地還包括數(shù)據(jù)插入模塊或數(shù)據(jù)加載器114, 其為從混合自動(dòng)重發(fā)請(qǐng)求(HARQ)接收數(shù)據(jù)120并按適當(dāng)方式將數(shù)據(jù)重排到turbo核心存儲(chǔ)器的功能塊。數(shù)據(jù)120可包括數(shù)據(jù)的子塊100、奇偶位的第一子塊102和奇偶位的第二子塊104。也就是說,其可在對(duì)數(shù)據(jù)120進(jìn)行重排之后,經(jīng)由數(shù)據(jù)輸入線路122向turbo解碼器150饋送子塊100、102和104。根據(jù)LTE turbo解碼算法,在每個(gè)周期,turbo解碼器150應(yīng)該接收與8個(gè)格子列, 即,在格子的“左手邊”的4列以及它們?cè)诟褡拥摹坝沂诌叀钡摹扮R像”,對(duì)應(yīng)的數(shù)據(jù)。然而, 數(shù)據(jù)120從HARQ串行地到達(dá);因此,對(duì)數(shù)據(jù)加載器114的第一要求是,按照能夠通過解碼算法被容易地使用的方式對(duì)數(shù)據(jù)進(jìn)行重排。由于解碼器150的需求,數(shù)據(jù)加載器114不能簡(jiǎn)單地將待解碼的數(shù)據(jù)120寫入到空的存儲(chǔ)器字并隨后以逐個(gè)存儲(chǔ)器槽為基礎(chǔ)將數(shù)據(jù)從存儲(chǔ)器讀出并饋送到解碼器150。根據(jù)一個(gè)實(shí)施例,需要數(shù)據(jù)加載器114的解碼器結(jié)構(gòu)可能存在于需要對(duì)輸入數(shù)據(jù)進(jìn)行解碼的任何設(shè)備中。例如,數(shù)據(jù)加載器114可能在基站中、演進(jìn)節(jié)點(diǎn)B(eNB)中、無線電網(wǎng)絡(luò)控制器(RNC)中、用戶終端中、掌上計(jì)算機(jī)中、移動(dòng)電話中。圖2中示出能夠?qū)?shù)據(jù)重排到解碼器的設(shè)備的非?;\統(tǒng)的架構(gòu)的實(shí)例。圖2僅示出理解根據(jù)本發(fā)明的實(shí)施例的設(shè)備所需的元件和功能性實(shí)體。為了簡(jiǎn)化的原因,省略了其他組件。元件和功能性實(shí)體的實(shí)現(xiàn)方式可能與圖2所示的不同。圖2中所示的連接是邏輯連接,而實(shí)際物理連接可能是不同的。本領(lǐng)域技術(shù)人員清楚,該設(shè)備還可包括其他功能和結(jié)構(gòu)。用于對(duì)數(shù)據(jù)進(jìn)行重排的圖2的設(shè)備(也可被稱為數(shù)據(jù)加載器)可包括處理器200。 處理器200可被實(shí)現(xiàn)為配備有嵌入在計(jì)算機(jī)可讀介質(zhì)上的合適軟件、或配備有單獨(dú)的邏輯電路(例如專用集成電路(ASIC))的單獨(dú)數(shù)字信號(hào)處理器。處理器200可包括用于提供通信功能的接口,例如計(jì)算機(jī)端口。圖2的設(shè)備的功能可被有效地分成兩個(gè)部分,第一部分從HARQ接收數(shù)據(jù)并將它們寫入存儲(chǔ)器,并且第二部分在預(yù)定數(shù)目的時(shí)鐘周期的時(shí)間段之后同時(shí)讀取存儲(chǔ)器,并將數(shù)據(jù)饋送至設(shè)計(jì)的剩余部分。讓我們更深入地討論這些部分。該設(shè)備還可以進(jìn)一步包括分別用于輸入和輸出數(shù)據(jù)201或211的接口 202和212。 根據(jù)一個(gè)實(shí)施例,從HARQ緩沖器接收數(shù)據(jù)201。因此,接口 202可以簡(jiǎn)單地是用于提供通信功能的計(jì)算機(jī)端口。類似地,接口 212可以簡(jiǎn)單地是用于提供通信功能的計(jì)算機(jī)端口。接口 212可將數(shù)據(jù)211饋送至設(shè)計(jì)的其余部分,例如解碼器。盡管圖2示出兩個(gè)接口 202和 212,但是該設(shè)備可以僅包括用于在處理器200的控制下執(zhí)行數(shù)據(jù)的輸入和輸出的一個(gè)接口。然而,為了簡(jiǎn)明,讓我們假設(shè)存在兩個(gè)接口 202和212。根據(jù)一個(gè)實(shí)施例,接口 202在預(yù)定數(shù)目的時(shí)鐘周期上接收至少一個(gè)數(shù)據(jù)采樣201。 所述至少一個(gè)數(shù)據(jù)采樣201可包括以下內(nèi)容的至少一個(gè)至少一個(gè)系統(tǒng)位和至少一個(gè)奇偶位。換句話說,至少一個(gè)數(shù)據(jù)采樣可包括系統(tǒng)數(shù)據(jù)的子塊、奇偶位的第一子塊和奇偶位的第二子塊。從現(xiàn)在開始,讓我們將數(shù)據(jù)的子塊稱為軟位。一個(gè)軟位可包括不同數(shù)目的位,例如 4位、5位或6位。也就是說,這種情況下,軟位的寬度(Sw)可以分別是4、5或6位。
可在每個(gè)時(shí)鐘周期接收軟位,包括例如系統(tǒng)軟位、第一奇偶軟位(parity softbit)和第二奇偶軟位。然而,如果需要,接口 202還可在每個(gè)時(shí)鐘周期接收其他信息。 為了描述的簡(jiǎn)明,讓我們假設(shè)數(shù)據(jù)加載器在每個(gè)時(shí)鐘周期只接收上述3個(gè)軟位。3個(gè)軟位可對(duì)應(yīng)于格子圖的一列。也就是說,圖2的設(shè)備可每個(gè)時(shí)鐘周期都接收與一個(gè)格子列對(duì)應(yīng)的數(shù)據(jù)。根據(jù)一個(gè)實(shí)施例,接口 202在預(yù)定數(shù)目的時(shí)鐘周期上接收至少一個(gè)數(shù)據(jù)采樣。為了描述的簡(jiǎn)明,讓我們假設(shè)預(yù)定量的時(shí)鐘周期為4。因此,數(shù)據(jù)加載器在4個(gè)時(shí)鐘周期的時(shí)間段內(nèi)收到12個(gè)軟位,在4個(gè)時(shí)鐘周期的每個(gè)時(shí)鐘周期都接收3個(gè)軟位。換句話說,數(shù)據(jù)加載器從4個(gè)鄰近格子列收集系統(tǒng)軟位、第一奇偶軟位和第二奇偶軟位,因此得到3X4 = 12個(gè)軟位。根據(jù)一個(gè)實(shí)施例,數(shù)據(jù)加載器向臨時(shí)寄存器存儲(chǔ)在預(yù)定數(shù)目減1個(gè)時(shí)鐘周期上接收的至少一個(gè)數(shù)據(jù)采樣。也就是說,如果預(yù)定數(shù)目的時(shí)鐘周期為4,則向臨時(shí)寄存器存儲(chǔ)在 3個(gè)時(shí)鐘周期上接收的數(shù)據(jù)。假設(shè),HARQ每周期提供3個(gè)軟位(系統(tǒng)軟位、第一奇偶和第二奇偶軟位),則需要大小為3 ^ 3 ^ Sw = 9 ^ Sw的臨時(shí)緩沖器/寄存器。圖;3B中示出這個(gè)類型的寄存器204。圖2中也示出該寄存器。圖3A示出格子圖,其具有用參考標(biāo)號(hào)301至332標(biāo)記的32列。參看圖3A和!3B, 根據(jù)一個(gè)實(shí)施例,在第一時(shí)鐘周期,數(shù)據(jù)加載器從格子圖的第一列301接收至少一個(gè)數(shù)據(jù)采樣(例如3個(gè)軟位),并將收到的3個(gè)軟位存儲(chǔ)到圖;3B的寄存器204中。從HARQ 350接收數(shù)據(jù),并且去多路復(fù)用器352分出數(shù)據(jù)存儲(chǔ)在寄存器槽361至369中的哪個(gè)/些。在第一時(shí)鐘周期上,接收到的3個(gè)軟位可被存儲(chǔ)在例如寄存器槽361至363中。然而,數(shù)據(jù)還可存儲(chǔ)在其他寄存器槽中,例如367至369,或3個(gè)任意選擇的槽中。在下一時(shí)鐘周期,接收來自格子列302的3個(gè)軟位,并臨時(shí)存儲(chǔ)在寄存器槽364至366中。在第三時(shí)鐘周期期間,寄存器槽367至369可被來自第三格子列303的軟位占用。這樣,寄存器204將在3個(gè)時(shí)鐘周期期間收到的9個(gè)軟位組在一起。周期可以是例如連續(xù)的時(shí)鐘周期。圖2的數(shù)據(jù)加載器的處理器200在每預(yù)定數(shù)目的時(shí)鐘周期的最后時(shí)鐘周期將接收到的至少一個(gè)數(shù)據(jù)采樣寫到包括一個(gè)或多個(gè)存儲(chǔ)器槽的存儲(chǔ)器228,從而按地址的升序填充預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽的多個(gè)第一部分,并且在預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽就第一部分被填充之后,按地址的降序填充預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽的多個(gè)第二部分,其中存儲(chǔ)器槽的一部分存儲(chǔ)在預(yù)定數(shù)目的時(shí)鐘周期接收的至少一個(gè)數(shù)據(jù)采樣。此外,一旦至少一個(gè)存儲(chǔ)器槽的第一部分和第二部分被寫入,處理器200還按地址的降序從預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽讀取所寫入的數(shù)據(jù)采樣,其中讀取發(fā)生在沒有向存儲(chǔ)器2 寫入數(shù)據(jù)的時(shí)鐘周期內(nèi)。圖4中示出存儲(chǔ)器228。存儲(chǔ)器2 可以是任意大小(任意數(shù)目的槽/字)。此外,存儲(chǔ)器2 可以是具有位寫入使能功能的任意類型的標(biāo)準(zhǔn)隨機(jī)存取存儲(chǔ)器(RAM)。根據(jù)一個(gè)實(shí)施例,存儲(chǔ)器只具有在輸入和/或輸出數(shù)據(jù)中對(duì)其進(jìn)行訪問的一個(gè)端口。換句話說, 處理器200可經(jīng)由單個(gè)端口訪問用于輸入和/或輸出數(shù)據(jù)的存儲(chǔ)器。根據(jù)一個(gè)實(shí)施例,存儲(chǔ)器228的一個(gè)實(shí)現(xiàn)方式是,將存儲(chǔ)器位寬度設(shè)置為
Sw,其中Sw是軟位的寬度。這樣的存儲(chǔ)器寬度允許在一個(gè)存儲(chǔ)器字中與8個(gè)格子列相關(guān)的軟位的存儲(chǔ),假設(shè)每個(gè)格子列提供3個(gè)軟位(例如系統(tǒng)軟位、第一奇偶軟位和第二奇偶軟位)。換句話說,一個(gè)存儲(chǔ)器槽(包括第一部分A和第二部分B)具有3 * 8 * Sw位的寬度。存儲(chǔ)器2 包括一個(gè)或多個(gè)存儲(chǔ)器槽401至415,每個(gè)槽都具有2個(gè)部分,第一部分A和第二部分B。根據(jù)一個(gè)實(shí)施例,第一部分A是存儲(chǔ)器槽的最低有效的那一半,第二部分B是存儲(chǔ)器槽的最高有效的那一半。存儲(chǔ)器槽401至415的一部分可容納在預(yù)定數(shù)目的時(shí)鐘周期上接收的至少一個(gè)數(shù)據(jù)采樣。也就是說,例如,12個(gè)軟位。然而,如果需要,一部分甚至可存儲(chǔ)更多數(shù)據(jù)。用地址來標(biāo)識(shí)存儲(chǔ)器槽401至415。圖4中,存儲(chǔ)器槽的地址增加,從而存儲(chǔ)器槽 401的地址低于存儲(chǔ)器槽402的地址,以此類推。因此,根據(jù)圖4的示例性存儲(chǔ)器,存儲(chǔ)器 228的最低地址屬于存儲(chǔ)器槽401,而最高地址屬于存儲(chǔ)器槽415。根據(jù)一個(gè)實(shí)施例,在預(yù)定數(shù)目的時(shí)鐘周期上接收的至少一個(gè)數(shù)據(jù)采樣對(duì)應(yīng)于碼塊的一部分。碼塊可以是需要在解碼器處被解碼的一定數(shù)目的位/軟位。可基于碼塊大小的信息來確定要寫入的預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽。可從設(shè)計(jì)的軟件配置部分獲得碼塊大小 N的信息。使用N,處理器200可計(jì)算所需的存儲(chǔ)器槽和它們的地址,以及將從HARQ接收的與當(dāng)前碼塊相關(guān)的軟位的總數(shù)。例如,碼塊大小N對(duì)應(yīng)于32格子列(如圖3A的情況),則為碼塊預(yù)留的預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽包括4個(gè)存儲(chǔ)器槽,假設(shè)一個(gè)存儲(chǔ)器槽可占據(jù)與 8個(gè)格子列對(duì)應(yīng)的軟位。因此,例如,可使用存儲(chǔ)器槽402至405來占據(jù)與碼塊對(duì)應(yīng)的數(shù)據(jù)。 于是,存儲(chǔ)器槽412至415可用于與下一相鄰碼塊對(duì)應(yīng)的數(shù)據(jù)。根據(jù)一個(gè)實(shí)施例,存儲(chǔ)器槽 401至411用于稍后將描述的其他目的。參看圖2和4,根據(jù)一個(gè)實(shí)施例,在寄存器204中存儲(chǔ)在預(yù)定數(shù)目的時(shí)鐘周期的3 個(gè)時(shí)鐘周期接收的9個(gè)軟位,并接收到在預(yù)定數(shù)目的周期的最后時(shí)鐘周期(第四時(shí)鐘周期) 的另外3個(gè)軟位(對(duì)應(yīng)于圖3A的格子列304)之后,處理器200將存儲(chǔ)的/緩存的內(nèi)容(9 個(gè)軟位)與新接收的軟位的三元組一起寫到存儲(chǔ)器228的存儲(chǔ)器槽402的第一部分A。也就是說,在預(yù)定數(shù)目的時(shí)鐘周期的最后時(shí)鐘周期(第四時(shí)鐘周期),向存儲(chǔ)器槽402A總共寫入12個(gè)軟位。在下一次訪問存儲(chǔ)器之前,允許經(jīng)過預(yù)定數(shù)目的時(shí)鐘周期,以允許與下4個(gè)格子列對(duì)應(yīng)的另外12個(gè)軟位的接收(9個(gè)在寄存器204中新存儲(chǔ)的和3個(gè)在當(dāng)前時(shí)鐘周期接收的)。對(duì)于第二個(gè)12個(gè)軟位的集合,對(duì)應(yīng)的格子列是列305至308。因此,在進(jìn)行中的預(yù)定數(shù)目的時(shí)鐘周期的最后時(shí)鐘周期,向存儲(chǔ)器槽403A寫入這12個(gè)軟位。根據(jù)一個(gè)實(shí)施例,處理器200增加特定存儲(chǔ)器槽的地址,直到寫操作的數(shù)目達(dá)到預(yù)定閾值T,其中,接收的軟位在每預(yù)定數(shù)目的時(shí)鐘周期的最后時(shí)鐘周期被寫到該特定存儲(chǔ)器槽中。預(yù)定閾值T可以是成列的格子圖的中點(diǎn)。也就是說,當(dāng)向存儲(chǔ)器的第一部分寫入與格子列的一半對(duì)應(yīng)的數(shù)據(jù)時(shí),達(dá)到閾值T。格子列的一半可能是格子列的“左半”。圖3A 中,格子列的一半是用參考標(biāo)號(hào)301至316標(biāo)記的列1至16。參看圖4,當(dāng)正在重排第一碼塊的數(shù)據(jù)時(shí),閾值T對(duì)應(yīng)于存儲(chǔ)器槽405。也就是說,當(dāng)寫存儲(chǔ)器槽405時(shí),停止存儲(chǔ)器地址的增加。對(duì)于與第二碼塊對(duì)應(yīng)的數(shù)據(jù),閾值T是存儲(chǔ)器槽415。換句話說,處理器200在增加數(shù)據(jù)在其中被寫入的地址時(shí)持續(xù)寫入,直到達(dá)到格子中點(diǎn)。處理器200可通過使用計(jì)數(shù)器206來增加地址。這樣,處理器200按地址的升序向存儲(chǔ)器2 持續(xù)寫入接收的軟位。根據(jù)一個(gè)實(shí)施例,在預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽401至415就第一部分A被填充之后,按地址的降序填充預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽401至415的第二部分B。也就是說, 從中點(diǎn)開始,把在預(yù)定數(shù)目的時(shí)鐘周期內(nèi)收集的數(shù)據(jù)寫到存儲(chǔ)器槽/字401至415的第二部分B,同時(shí)減少用于寫入數(shù)據(jù)的地址。第一次為寫入而訪問特定存儲(chǔ)器槽的第二部分的時(shí)間,是寫入存儲(chǔ)器槽405的第一部分A并接收下一軟位集合時(shí)的時(shí)間。然后,處理器200 向存儲(chǔ)器槽405的第二部分B寫入接收的軟位。向存儲(chǔ)器槽405B寫入的數(shù)據(jù)對(duì)應(yīng)于從格子中點(diǎn)開始的下4個(gè)格子列。參看圖3A,對(duì)應(yīng)的格子列是列17至20(17 = 32/2+1且20 = 32/2+4),用參考標(biāo)號(hào)317至320標(biāo)記。根據(jù)一個(gè)實(shí)施例,處理器200此時(shí)向計(jì)數(shù)器206通知需要倒計(jì)數(shù)。換句話說,在達(dá)到預(yù)定閾值T之后,處理器200減小寫入所接收的至少一個(gè)數(shù)據(jù)采樣的特定存儲(chǔ)器槽401 至415的地址,直到與當(dāng)前碼塊對(duì)應(yīng)的數(shù)據(jù)采樣被寫入。因此,在經(jīng)過了下一預(yù)定數(shù)目的時(shí)鐘周期之后,處理器200訪問存儲(chǔ)器槽404B以便寫入。這樣,處理器200按地址的降序持續(xù)向存儲(chǔ)器2 寫入所接收的軟位。結(jié)果是實(shí)現(xiàn)了必要的重排,其中401至415的一個(gè)存儲(chǔ)器槽對(duì)應(yīng)于存儲(chǔ)到存儲(chǔ)器槽402的部分A的從格子左手邊(例如列1至4)的4個(gè)鄰近格子列,以及對(duì)應(yīng)于存儲(chǔ)到存儲(chǔ)器槽402的部分B的從格子右手邊(列四至32,假設(shè)格子具有32列)的它們的鏡像。 然而,如上所述,存儲(chǔ)器2 不是在每個(gè)時(shí)鐘周期都被訪問用來寫入,而是僅僅每個(gè)第4時(shí)鐘周期被訪問用語寫入。這留出了用于訪問存儲(chǔ)器以便讀取的時(shí)間,而無需在可發(fā)生讀取之前等待所有數(shù)據(jù)被接收和寫入。向存儲(chǔ)器槽401至415的第一部分A寫入的過程進(jìn)行N/8個(gè)寫操作,其中N是格子圖中格子列的數(shù)目。這是因?yàn)樵谝粋€(gè)寫操作期間,向存儲(chǔ)器228的多個(gè)第一部分A寫入與4個(gè)格子列對(duì)應(yīng)的4個(gè)軟位集合。在N/8個(gè)寫操作之后,在另一個(gè)N/8個(gè)寫操作期間,向存儲(chǔ)器228的多個(gè)第二部分B寫入與4個(gè)鏡像的格子列對(duì)應(yīng)的另外4個(gè)軟位集合??偠灾@意味著一個(gè)存儲(chǔ)器槽包含與8個(gè)格子列對(duì)應(yīng)的數(shù)據(jù)。根據(jù)一個(gè)實(shí)施例,處理器200可經(jīng)由控制線207簡(jiǎn)單地控制向存儲(chǔ)器228的數(shù)據(jù)寫入。存儲(chǔ)器2 可經(jīng)由存儲(chǔ)器接口 208來訪問,其實(shí)現(xiàn)用以訪問存儲(chǔ)器的“類FIFO”機(jī)制。存儲(chǔ)器接口 208可從寄存器204接收要寫入到存儲(chǔ)器228的數(shù)據(jù),其操作相對(duì)于圖3 已經(jīng)有所描述,并且可從接口 202接收數(shù)據(jù)。一旦至少一個(gè)存儲(chǔ)器槽的第一部分A和第二部分B被寫入,處理器200可讀取至少一個(gè)滿的存儲(chǔ)器槽。實(shí)踐中,要讀取的第一存儲(chǔ)器槽是存儲(chǔ)器槽405,因?yàn)樗瞧涞谝?A 和第二B部分被寫入的第一個(gè)存儲(chǔ)器槽。換句話說,從至少一個(gè)存儲(chǔ)器槽讀取所寫入的數(shù)據(jù)采樣開始于具有與預(yù)定閾值T對(duì)應(yīng)的地址的存儲(chǔ)器槽。而且,可以在沒有完成與當(dāng)前碼塊對(duì)應(yīng)的數(shù)據(jù)的寫入時(shí),開始讀取。這是可能的,因?yàn)閷憙H僅占據(jù)為碼塊預(yù)留的總時(shí)鐘周期的一部分。換句話說,當(dāng)數(shù)據(jù)沒有寫到存儲(chǔ)器2 時(shí),讀取在時(shí)鐘周期內(nèi)發(fā)生。假設(shè)僅僅每個(gè)第四周期向存儲(chǔ)器228寫入數(shù)據(jù),則可在沒有數(shù)據(jù)被寫入的三個(gè)周期內(nèi)讀取數(shù)據(jù)。也就是說,當(dāng)為當(dāng)前碼塊預(yù)留的預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽401至405的至少一個(gè)第二部分B 為空時(shí),數(shù)據(jù)被讀取。根據(jù)一個(gè)實(shí)施例,基于逐個(gè)存儲(chǔ)器槽讀取數(shù)據(jù)。讀取按降序發(fā)生。也就是說,在讀取存儲(chǔ)器槽405之后,接下來讀取存儲(chǔ)器槽404。 為此,處理器200減小要讀取的存儲(chǔ)器槽的地址,直到讀取了與當(dāng)前碼塊對(duì)應(yīng)的數(shù)據(jù)采樣。 處理器200可應(yīng)用計(jì)數(shù)器216,用于執(zhí)行倒計(jì)數(shù)操作。
根據(jù)一個(gè)實(shí)施例,處理器200可經(jīng)由控制線217簡(jiǎn)單地控制從存儲(chǔ)器228的對(duì)數(shù)據(jù)的讀取。存儲(chǔ)器2 可經(jīng)由存儲(chǔ)器接口 218來訪問,其實(shí)現(xiàn)訪問存儲(chǔ)器的“類FIFO”機(jī)制。當(dāng)達(dá)到預(yù)定閾值T時(shí),處理器200知道讀取可開始。例如,存儲(chǔ)器接口 208通知 401至415的至少一個(gè)存儲(chǔ)器槽具有寫有數(shù)據(jù)的兩個(gè)部分(第一部分和第二部分)??山柚谔岢龅摹皹?biāo)志”來進(jìn)行所述通知,該標(biāo)志通知從現(xiàn)在開始在可進(jìn)一步讀取和處理的存儲(chǔ)器228中存在完整的槽/字。如果在某時(shí)刻,所有完整的字都已經(jīng)被讀取,但是還沒有接收或?qū)懭霐?shù)據(jù)的整個(gè)碼塊,則降低相關(guān)的標(biāo)志,并且讀取將停止,直到401至415的存儲(chǔ)器槽的另外的第二部分 B被寫入,以致至少一個(gè)完整存儲(chǔ)器字在存儲(chǔ)器228中再次準(zhǔn)備就緒。這樣,在從HARQ收到數(shù)據(jù)之后,從緩沖存儲(chǔ)器2 到解碼器的數(shù)據(jù)傳送可非??斓赝瓿?,從而turbo解碼可開始,而沒有由于數(shù)據(jù)的讀取需要單獨(dú)步驟集合而引起的任何附加延遲。期望在從HARQ接收到最后的數(shù)據(jù)采樣之后僅幾個(gè)時(shí)鐘周期就開始turbo解碼。因?yàn)閷?shù)據(jù)重排到解碼器的需求(其要求中間緩存),所以這在LTE中并非微不足道的任務(wù)。根據(jù)一個(gè)實(shí)施例,在從HARQ 收到與當(dāng)前碼塊對(duì)應(yīng)的所有數(shù)據(jù)時(shí),從該時(shí)間點(diǎn)經(jīng)過2或3個(gè)時(shí)鐘周期之后,可完成讀取。因此,在從至少一個(gè)存儲(chǔ)器槽讀取了數(shù)據(jù)采樣之后,接口 212將讀取的數(shù)據(jù)采樣 201從預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽轉(zhuǎn)發(fā)至設(shè)備的其余部分,其可包括例如解碼器。在存儲(chǔ)軟位中不使用為每個(gè)碼塊預(yù)留的存儲(chǔ)器槽中具有最低地址的多個(gè)存儲(chǔ)器槽的第一半A。也就是說,圖4中,存儲(chǔ)器槽401和411的第一部分A保持未使用。然而, 預(yù)留存儲(chǔ)器槽401和411的第二部分B,用于存儲(chǔ)編碼器的尾部位。記得,可通過格子圖的形式示出編碼器,通過在所有信息位被編碼之后從編碼器寄存器提取尾部位來執(zhí)行格子終止。由于為尾部位預(yù)留的第二部分B和未使用的第一部分A,根據(jù)一個(gè)實(shí)施例,處理器200 向用于與當(dāng)前碼塊對(duì)應(yīng)的數(shù)據(jù)采樣的地址中具有第二最低地址(存儲(chǔ)器槽402或412)的存儲(chǔ)器槽的第一部分A,寫入在預(yù)定數(shù)目的時(shí)鐘周期最先收到的至少一個(gè)數(shù)據(jù)采樣。當(dāng)接口 202收到與當(dāng)前碼塊對(duì)應(yīng)的至少一個(gè)尾部數(shù)據(jù)采樣時(shí),處理器200向用于當(dāng)前碼塊的地址中具有最低地址(存儲(chǔ)器槽401或411)的存儲(chǔ)器槽的第二部分B,寫入收到的至少一個(gè)尾部數(shù)據(jù)采樣。為此,相對(duì)于按地址的升序在數(shù)據(jù)的寫入期間執(zhí)行的N/8個(gè)寫操作,按地址的降序的寫操作將持續(xù)N/8+1個(gè)寫操作。此外,處理器200需要處理碼塊的連續(xù)性接收。具體地,在一個(gè)碼塊的接收之后, 處理器200應(yīng)該立即能夠開始重排來自下一塊的數(shù)據(jù)。因此,當(dāng)達(dá)到預(yù)定閾值T并且寫入按地址的降序開始時(shí),處理器200記錄當(dāng)前存儲(chǔ)器地址D。。根據(jù)一個(gè)實(shí)施例,在收到完整碼塊并且下一碼塊開始到來之后,處理器200開始從地址D。+l起填充存儲(chǔ)器,因?yàn)槭菑拇鎯?chǔ)器具有空的空間的地址開始的。因此,下一塊的接收和重排可繼續(xù),不管是否完成了上一個(gè)碼塊的讀取。換句話說,處理器知曉當(dāng)前碼塊大小/長(zhǎng)度,從而一接收到完整塊,另一碼塊的寫入可從地址Dc+1 ( = Ν/8+2)開始。因此,根據(jù)一個(gè)實(shí)施例,一旦接口 202收到與新碼塊對(duì)應(yīng)的至少一個(gè)數(shù)據(jù)采樣,處理器200就執(zhí)行對(duì)碼塊的寫入操作,從而寫入開始于具有與上一碼塊中預(yù)定閾值T對(duì)應(yīng)的并增加1的地址的存儲(chǔ)器槽。此外,一旦存在要讀取的完整存儲(chǔ)器字/槽,對(duì)另一碼塊的讀取從地址2 (Ν/8+1)開始。
當(dāng)寫入操作到達(dá)存儲(chǔ)器的最高緩沖存儲(chǔ)器地址(圖4中的存儲(chǔ)器槽415)時(shí),其可返回至開始(存儲(chǔ)器槽401)并無縫地繼續(xù)該過程。這將僅在存儲(chǔ)器槽401的先前內(nèi)容已經(jīng)被讀取的情況下才發(fā)生。根據(jù)一個(gè)實(shí)施例,在具有最高地址的存儲(chǔ)器槽415已被寫入之后,處理器200通過從具有最低地址的存儲(chǔ)器槽401開始來重用存儲(chǔ)器228。圖2的設(shè)備可包括判決器。判決器220將寫和讀訪問信號(hào)收集在一起,并根據(jù)特定的存儲(chǔ)器供應(yīng)商的需求將他們壓縮到單個(gè)存儲(chǔ)器接口中。判決器220對(duì)寫訪問給予優(yōu)先權(quán)。也就是說,在嘗試寫和讀訪問兩者的情況下,隨后將進(jìn)行寫訪問。判決器220可經(jīng)由控制線222向處理器200發(fā)送讀取和寫入操作的數(shù)目,以通知處理器200關(guān)于存儲(chǔ)器的狀態(tài)。這樣,處理器200跟蹤對(duì)于存儲(chǔ)器228的寫入和讀取訪問。 判決器220的使用并非強(qiáng)制性的,并且圖2的設(shè)備可能不包括判決器220。在這樣的情況下,處理器200自己獲得對(duì)存儲(chǔ)器228的寫入和讀取訪問的信息。如果不存在判決器220, 則處理器200允許寫操作在讀操作之上的優(yōu)先權(quán)。計(jì)數(shù)器206可用于執(zhí)行進(jìn)行寫入操作所需的正計(jì)數(shù)或倒計(jì)數(shù)。換句話說,處理器 200采用具有并行加載能力的計(jì)數(shù)器206。根據(jù)一個(gè)實(shí)施例,計(jì)數(shù)器206可執(zhí)行如下操作在與當(dāng)前碼塊對(duì)應(yīng)的存儲(chǔ)器地址中的第二最低地址A處初始化計(jì)數(shù)器206 (因?yàn)榫哂凶畹偷刂稤1的存儲(chǔ)器槽的第一部分A將不被使用)。圖:3B的模-4計(jì)數(shù)器3M通知何時(shí)軟位的所有4個(gè)三元組已被接收。也就是說,執(zhí)行了 3個(gè)存儲(chǔ)操作(3X3軟位),并且收到第四個(gè)三元組。當(dāng)圖:3B的模-4計(jì)數(shù)器3M指示存在要寫入存儲(chǔ)器228的數(shù)據(jù)時(shí),處理器200 (或存儲(chǔ)器接口 208)布置寫入使能和位寫入使能信號(hào),以實(shí)現(xiàn)第一部分A寫入操作,同時(shí)處理器 200命令計(jì)數(shù)器206正計(jì)數(shù),以為下一地址做好準(zhǔn)備。在計(jì)數(shù)器206的內(nèi)容到達(dá)&+N/8 (預(yù)定閾值T)之后,處理器200將命令倒計(jì)數(shù),同時(shí)處理器200(或存儲(chǔ)器接口 208)將布置位寫入使能信號(hào),從而發(fā)生第二部分B寫入操作。在計(jì)數(shù)器206到達(dá)對(duì)應(yīng)碼塊的最低地址D1 之后,處理器200將重新初始化計(jì)數(shù)器206為A+N/8+1,以為下一碼塊做準(zhǔn)備。讀取操作可使用具有并行加載能力的倒計(jì)數(shù)器216。如先前說明的,可在 D2+N/8( = Ν/8+1)處初始化計(jì)數(shù)器216。通過“數(shù)據(jù)準(zhǔn)備好”標(biāo)志,向處理器200 (或存儲(chǔ)器接口 218)通知關(guān)于存儲(chǔ)器228中出現(xiàn)完整的槽/字。還通過“寫入訪問”標(biāo)志向其通知是否在進(jìn)行寫入操作。如果在執(zhí)行寫入訪問,則將不嘗試讀取,而是將等待下一空閑周期。假設(shè)“數(shù)據(jù)準(zhǔn)備好”和“寫入訪問,,表明存在完整的字并且它們可被訪問,處理器200安排存儲(chǔ)器接口 218來執(zhí)行讀取操作。在計(jì)數(shù)器216提供的地址處進(jìn)行讀取,隨后通過處理器200 指示計(jì)數(shù)器216來倒計(jì)數(shù)以為下一讀取操作做準(zhǔn)備。如上所述,根據(jù)一個(gè)實(shí)施例,處理器200將對(duì)寫入操作和讀取操作的數(shù)目進(jìn)行計(jì)數(shù),并獲得碼塊大小的信息?;谠撔畔?,處理器200可確定是否進(jìn)行以下內(nèi)容的至少一個(gè)存在要被讀取的滿的存儲(chǔ)器槽,存儲(chǔ)器為滿,以及存儲(chǔ)器為空。基于確定結(jié)果,處理器 200執(zhí)行以下內(nèi)容的至少一個(gè)如果有的話則控制對(duì)滿的存儲(chǔ)器槽的讀取,如果存儲(chǔ)器為滿則限制接收至少一個(gè)數(shù)據(jù)采樣,以及控制對(duì)空存儲(chǔ)器的通知。換句話說,如果存在要被讀取的滿的存儲(chǔ)器槽,則處理器200控制存儲(chǔ)器槽的讀取。例如,可提出“數(shù)據(jù)準(zhǔn)備好”標(biāo)志。此外,如果存儲(chǔ)器2 為滿并且加載器無法接受來自HARQ的更多數(shù)據(jù)采樣,則處理器可經(jīng)由控制線203給出溢出指示。然而,如果存儲(chǔ)器228 完全為空(意為所有字都已被讀取并被進(jìn)一步傳輸),處理器200經(jīng)由控制線205提出特定的“空”標(biāo)志,這可內(nèi)部地用于設(shè)計(jì)的其余部分(等同于由傳統(tǒng)FIFO類型存儲(chǔ)器提供的 FIFO空標(biāo)志)。此外,當(dāng)為了寫入而訪問存儲(chǔ)器228時(shí),處理器200(借助于“寫入訪問”標(biāo)志)傳輸信息,從而不會(huì)同時(shí)嘗試讀取訪問。處理器200還防止向其內(nèi)容還沒有被讀取的存儲(chǔ)器槽寫入。處理器200可在這個(gè)情況下經(jīng)由控制線203對(duì)HARQ提出“溢出”信號(hào),從而HARQ停止發(fā)送軟位,直到有空的存儲(chǔ)器空間(至少一個(gè)槽被讀取)。處理器200還可執(zhí)行以下內(nèi)容的至少一個(gè)如果存儲(chǔ)器 228正被寫入則限制讀取存儲(chǔ)器228,以及如果存儲(chǔ)器2 正被讀取則限制向存儲(chǔ)器2 寫入,以避免沖突。盡管圖2示出了 2個(gè)存儲(chǔ)器接口 208和218,但是如果處理器200直接訪問存儲(chǔ)器228,則可能不需要它們。盡管大部分描述引用了每個(gè)格子列有3個(gè)軟位并且每個(gè)存儲(chǔ)器槽能夠存儲(chǔ)8個(gè)格子列的內(nèi)容的實(shí)例,但是如果HARQ例如逐個(gè)地而不是在三元組中提供軟位,則完全相同的實(shí)現(xiàn)原理將適用。這樣,圖3B的寄存器204將略有不同,并且每12個(gè)周期將訪問一次存儲(chǔ)器以便寫入(假設(shè)這個(gè)實(shí)例中存儲(chǔ)器槽的一部分也可存儲(chǔ)12個(gè)軟位)。圖5示出根據(jù)本發(fā)明一個(gè)實(shí)施例的重排數(shù)據(jù)的方法。該方法在步驟500開始。步驟502中,在預(yù)定數(shù)目的時(shí)鐘周期上接收至少一個(gè)數(shù)據(jù)采樣。步驟504包括在每個(gè)預(yù)定數(shù)目的時(shí)鐘周期的最后時(shí)鐘周期期間,向包括一個(gè)或多個(gè)存儲(chǔ)器槽的存儲(chǔ)器寫入接收的至少一個(gè)數(shù)據(jù)采樣,從而按地址的升序填充預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽的多個(gè)第一部分,以及在所述預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽就第一部分被填充之后,按地址的降序填充所述預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽的第二部分,其中存儲(chǔ)器槽的一部分存儲(chǔ)在預(yù)定數(shù)目的時(shí)鐘周期接收的至少一個(gè)數(shù)據(jù)采樣。步驟506包括一旦至少一個(gè)存儲(chǔ)器槽的第一部分和第二部分被寫入,按降序從預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽讀取寫入的數(shù)據(jù)采樣,其中所述讀取發(fā)生在沒有向存儲(chǔ)器寫入數(shù)據(jù)的時(shí)鐘周期期間。結(jié)果是,當(dāng)例如在數(shù)據(jù)加載器接收與一個(gè)碼塊對(duì)應(yīng)的數(shù)據(jù)所用的時(shí)間段上監(jiān)聽時(shí),數(shù)據(jù)的寫入和讀取并行發(fā)生。步驟508中,從所述預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽轉(zhuǎn)發(fā)所讀取的數(shù)據(jù)采樣。該方法在步驟510結(jié)束。圖6示出根據(jù)本發(fā)明一個(gè)實(shí)施例的重排數(shù)據(jù)的方法。該方法在步驟600開始。步驟602中,在預(yù)定數(shù)目的時(shí)鐘周期上接收至少一個(gè)數(shù)據(jù)采樣。步驟604包括在每個(gè)預(yù)定數(shù)目的時(shí)鐘周期的最后時(shí)鐘周期期間,控制向包括一個(gè)或多個(gè)存儲(chǔ)器槽的存儲(chǔ)器寫入所接收的至少一個(gè)數(shù)據(jù)采樣,從而按地址的升序填充預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽的多個(gè)第一部分,以及在所述預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽就第一部分被填充之后,按地址的降序填充所述預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽的多個(gè)第二部分,其中存儲(chǔ)器槽的一部分存儲(chǔ)在預(yù)定數(shù)目的時(shí)鐘周期上接收的至少一個(gè)數(shù)據(jù)采樣。步驟606包括一旦至少一個(gè)存儲(chǔ)器槽的第一部分和第二部分被寫入,控制按降序從預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽讀取所寫入的數(shù)據(jù)采樣,其中所述讀取發(fā)生在沒有向存儲(chǔ)器寫入數(shù)據(jù)的時(shí)鐘周期期間。步驟608中,從所述預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽轉(zhuǎn)發(fā)所讀取的數(shù)據(jù)采樣。該方法在步驟610結(jié)束。本發(fā)明的實(shí)施例提供許多優(yōu)點(diǎn)。在數(shù)據(jù)被讀取的同時(shí)為當(dāng)前碼塊預(yù)留的存儲(chǔ)器槽中關(guān)于第二部分仍然有至少一個(gè)空存儲(chǔ)器槽意義上的同時(shí)的寫入和讀取,節(jié)省了總體操作中的大量時(shí)鐘周期,而對(duì)于緩沖存儲(chǔ)器沒有施加任何特定需求(即不必是雙端口類型)。在實(shí)施例中,一個(gè)存儲(chǔ)器槽占據(jù)8個(gè)格子列,節(jié)省的時(shí)鐘周期等于N/8個(gè)時(shí)鐘周期,這是在寫入和讀取沒有如上所述并行工作而是順序工作的情況下所需的時(shí)間。此外,通過所提出的方案,在一個(gè)時(shí)鐘周期期間不存在同時(shí)讀取和寫入訪問嘗試。本方案的另一優(yōu)點(diǎn)在于,否則將不得不考慮向設(shè)計(jì)增加額外turbo核心的可能性,以實(shí)現(xiàn)LTE所需的吞吐量。這將明顯影響空間/成本和功耗。這里所述的技術(shù)和方法可通過各種手段實(shí)現(xiàn)。例如,這些技術(shù)可在硬件(一個(gè)或多個(gè)設(shè)備)、固件(一個(gè)或多個(gè)設(shè)備)、軟件(一個(gè)或多個(gè)模塊)、或其組合中實(shí)現(xiàn)。對(duì)于硬件實(shí)現(xiàn),圖2的設(shè)備可實(shí)現(xiàn)于一個(gè)或多個(gè)專用集成電路(ASIC)、數(shù)字信號(hào)處理器(DSP)、數(shù)字信號(hào)處理設(shè)備(DSPD)、可編程邏輯設(shè)備(PLD)、場(chǎng)可編程門陣列(FPGA)、處理器、控制器、 微控制器、微處理器、被設(shè)計(jì)為執(zhí)行這里所述功能的其他電子單元、或其組合中。對(duì)于固件或軟件,可通過執(zhí)行這里所述功能的至少一個(gè)芯片集(例如過程、功能等)的模塊來實(shí)現(xiàn)。 軟件代碼可存儲(chǔ)于存儲(chǔ)器單元中并通過處理器執(zhí)行。存儲(chǔ)器單元可在處理器中或在處理器外部實(shí)現(xiàn)。在后者的情況下,它可經(jīng)由本領(lǐng)域已知的各種手段通信地耦合至處理器。此外, 這里所述的系統(tǒng)的組件可通過附加組件重排和/或補(bǔ)充,以便于這里所述的各個(gè)方面等的實(shí)現(xiàn),并且它們不限于給定附圖中闡述的精確配置,這是本領(lǐng)域技術(shù)人員可理解的。因此,根據(jù)一個(gè)實(shí)施例,用于執(zhí)行圖2至6的任務(wù)的設(shè)備包括接口部件,用于在預(yù)定數(shù)目的時(shí)鐘周期上接收至少一個(gè)數(shù)據(jù)采樣;處理部件,用于在每個(gè)預(yù)定數(shù)目的時(shí)鐘周期的最后時(shí)鐘周期期間向包括一個(gè)或多個(gè)存儲(chǔ)器槽的存儲(chǔ)器寫入所接收的至少一個(gè)數(shù)據(jù)采樣,從而按地址的升序填充預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽的第一部分,以及在所述預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽就第一部分被填充之后,按地址的降序填充所述預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽的第二部分,其中存儲(chǔ)器槽的一部分存儲(chǔ)在預(yù)定數(shù)目的時(shí)鐘周期上接收的至少一個(gè)數(shù)據(jù)采樣;處理部件,用于一旦至少一個(gè)存儲(chǔ)器槽的第一部分和第二部分被寫入,按降序從預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽讀取所寫入的數(shù)據(jù)采樣,其中所述讀取發(fā)生在沒有向存儲(chǔ)器寫入數(shù)據(jù)的時(shí)鐘周期期間;以及接口部件,用于從所述預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽轉(zhuǎn)發(fā)所讀取的數(shù)據(jù)采樣。本發(fā)明的實(shí)施例可作為根據(jù)本發(fā)明實(shí)施例的圖2的設(shè)備中的計(jì)算機(jī)程序來實(shí)現(xiàn)。 計(jì)算機(jī)程序包括用于執(zhí)行計(jì)算機(jī)處理的指令,該計(jì)算機(jī)處理用于為解碼器提供更有效的數(shù)據(jù)排列的方案。處理器中實(shí)現(xiàn)的計(jì)算機(jī)程序可執(zhí)行但不限于圖2至6有關(guān)的任務(wù)。計(jì)算機(jī)程序可存儲(chǔ)于計(jì)算機(jī)或處理器可讀取的計(jì)算機(jī)程序分布介質(zhì)上。計(jì)算機(jī)程序介質(zhì)可以是例如但不限于,電、磁、光、紅外或半導(dǎo)體系統(tǒng)、設(shè)備或傳輸介質(zhì)。計(jì)算機(jī)程序介質(zhì)可包括以下介質(zhì)的至少一個(gè)計(jì)算機(jī)可讀介質(zhì)、程序存儲(chǔ)介質(zhì)、記錄介質(zhì)、計(jì)算機(jī)可讀存儲(chǔ)器、隨機(jī)存取存儲(chǔ)器、可擦除可編程只讀存儲(chǔ)器、計(jì)算機(jī)可讀軟件分布包、計(jì)算機(jī)可讀信號(hào)、計(jì)算機(jī)可讀電信信號(hào)、計(jì)算機(jī)可讀印刷物質(zhì)、和計(jì)算機(jī)可讀壓縮軟件包。盡管根據(jù)附圖參照實(shí)例在上面描述了本發(fā)明,但應(yīng)當(dāng)明了,本發(fā)明不限于此,可在所附權(quán)利要求的范圍內(nèi)以若干方式修改。此外,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,所述實(shí)施例可以,但不要求,以各種方式與其他實(shí)施例組合。
權(quán)利要求
1.一種方法,包括在預(yù)定數(shù)目的時(shí)鐘周期上接收至少一個(gè)數(shù)據(jù)采樣;在每預(yù)定數(shù)目的時(shí)鐘周期的最后時(shí)鐘周期期間,向包括一個(gè)或多個(gè)存儲(chǔ)器槽的存儲(chǔ)器寫入所接收的至少一個(gè)數(shù)據(jù)采樣,從而按地址的升序填充預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽的第一部分,以及在所述預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽就第一部分被填充之后,按地址的降序填充所述預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽的第二部分,其中存儲(chǔ)器槽的一部分存儲(chǔ)在預(yù)定數(shù)目的時(shí)鐘周期上接收的所述至少一個(gè)數(shù)據(jù)采樣;一旦至少一個(gè)存儲(chǔ)器槽的第一部分和第二部分被寫入,按地址的降序從預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽讀取所寫入的數(shù)據(jù)采樣,其中所述讀取發(fā)生在沒有向存儲(chǔ)器寫入數(shù)據(jù)的時(shí)鐘周期期間;以及從所述預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽轉(zhuǎn)發(fā)所讀取的數(shù)據(jù)采樣。
2.如權(quán)利要求1所述的方法,進(jìn)一步包括在預(yù)定數(shù)目的時(shí)鐘周期上接收至少一個(gè)數(shù)據(jù)采樣,其中所述至少一個(gè)數(shù)據(jù)采樣對(duì)應(yīng)于碼塊的一部分。
3.如權(quán)利要求2所述的方法,進(jìn)一步包括在每預(yù)定數(shù)目的時(shí)鐘周期的最后時(shí)鐘周期期間,向特定存儲(chǔ)器的第一部分寫入所接收的至少一個(gè)數(shù)據(jù)采樣;增加所述特定存儲(chǔ)器槽的地址,直到寫入操作的數(shù)目達(dá)到預(yù)定閾值,其中,在每預(yù)定數(shù)目的時(shí)鐘周期的最后時(shí)鐘周期期間所接收的至少一個(gè)數(shù)據(jù)采樣被寫入所述特定存儲(chǔ)器槽; 以及在達(dá)到預(yù)定閾值之后,減小所述特定存儲(chǔ)器槽的地址,直到與所述當(dāng)前碼塊對(duì)應(yīng)的數(shù)據(jù)采樣被寫入,其中,所接收的至少一個(gè)數(shù)據(jù)采樣在每預(yù)定數(shù)目的時(shí)鐘周期的最后時(shí)鐘周期期間被寫入到所述特定存儲(chǔ)器槽。
4.如權(quán)利要求2至3中任一項(xiàng)所述的方法,進(jìn)一步包括在預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽的至少一個(gè)第二部分為空時(shí),以具有與預(yù)定閾值對(duì)應(yīng)的地址的存儲(chǔ)器槽為起始從至少一個(gè)存儲(chǔ)器槽讀取所寫入的數(shù)據(jù)采樣;以及降低所讀取的存儲(chǔ)器槽的地址,直到與當(dāng)前碼塊對(duì)應(yīng)的數(shù)據(jù)采樣被讀取。
5.如權(quán)利要求2至4中任一項(xiàng)所述的方法,進(jìn)一步包括接收與另一碼塊相關(guān)的至少一個(gè)數(shù)據(jù)采樣;以及執(zhí)行對(duì)所述碼塊的寫入和讀取操作,從而從具有與上一碼塊中預(yù)定閾值對(duì)應(yīng)的并增加 1的地址的存儲(chǔ)器槽開始寫入。
6.如權(quán)利要求2至5中任一項(xiàng)所述的方法,進(jìn)一步包括向用于與當(dāng)前碼塊對(duì)應(yīng)的數(shù)據(jù)采樣的地址中具有第二最低地址的存儲(chǔ)器槽的第一部分寫入最先接收的至少一個(gè)數(shù)據(jù)采樣;接收與當(dāng)前碼塊對(duì)應(yīng)的至少一個(gè)尾部數(shù)據(jù)采樣;以及向用于當(dāng)前碼塊的地址中具有最低地址的存儲(chǔ)器槽的第二部分寫入所接收的至少一個(gè)尾部數(shù)據(jù)采樣。
7.如權(quán)利要求1至6中任一項(xiàng)所述的方法,其中所述至少一個(gè)數(shù)據(jù)采樣包括以下內(nèi)容的至少一個(gè)至少一個(gè)系統(tǒng)位和至少一個(gè)奇偶位。
8.如權(quán)利要求1至7中任一項(xiàng)所述的方法,其中所述第一部分是存儲(chǔ)器槽的最低有效的那一半,以及第二部分是存儲(chǔ)器槽的最高有效的那一半。
9.如權(quán)利要求1至8中任一項(xiàng)所述的方法,進(jìn)一步包括在臨時(shí)寄存器中存儲(chǔ)在預(yù)定數(shù)目減1的時(shí)鐘周期上接收的至少一個(gè)數(shù)據(jù)采樣。
10.如權(quán)利要求1至9中任一項(xiàng)所述的方法,進(jìn)一步包括經(jīng)由單個(gè)端口訪問存儲(chǔ)器以便輸入或輸出數(shù)據(jù)。
11.如權(quán)利要求1至10中任一項(xiàng)所述的方法,進(jìn)一步包括在具有最高地址的存儲(chǔ)器槽被寫入之后,通過從具有最低地址的存儲(chǔ)器槽開始來重用存儲(chǔ)器。
12.如權(quán)利要求1至11中任一項(xiàng)所述的方法,進(jìn)一步包括對(duì)寫入操作和讀取操作的數(shù)目進(jìn)行計(jì)數(shù);獲取碼塊大小的信息;確定是否發(fā)生以下內(nèi)容的至少一個(gè)存在要讀取的滿存儲(chǔ)器槽,存儲(chǔ)器為滿,以及存儲(chǔ)器為空;以及執(zhí)行以下內(nèi)容的至少一個(gè)如果有的話則控制對(duì)滿存儲(chǔ)器槽的讀取,如果存儲(chǔ)器為滿則限制接收所述至少一個(gè)數(shù)據(jù)采樣,以及控制對(duì)空存儲(chǔ)器的通知。
13.一種設(shè)備,包括接口,被配置為在預(yù)定數(shù)目的時(shí)鐘周期上接收至少一個(gè)數(shù)據(jù)采樣;所述設(shè)備進(jìn)一步包括處理器,被配置為在每預(yù)定數(shù)目的時(shí)鐘周期的最后時(shí)鐘周期期間,向包括一個(gè)或多個(gè)存儲(chǔ)器槽的存儲(chǔ)器寫入所接收的至少一個(gè)數(shù)據(jù)采樣,從而按地址的升序填充預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽的第一部分,以及在所述預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽就第一部分被填充之后,按地址的降序填充所述預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽的第二部分,其中存儲(chǔ)器槽的一部分存儲(chǔ)在預(yù)定數(shù)目的時(shí)鐘周期上接收的所述至少一個(gè)數(shù)據(jù)采樣;一旦至少一個(gè)存儲(chǔ)器槽的第一部分和第二部分被寫入,按地址的降序從預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽讀取所寫入的數(shù)據(jù)采樣,其中所述讀取發(fā)生在沒有向存儲(chǔ)器寫入數(shù)據(jù)的時(shí)鐘周期期間,以及所述接口進(jìn)一步被配置為從所述預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽轉(zhuǎn)發(fā)所讀取的數(shù)據(jù)采樣。
14.如權(quán)利要求13所述的設(shè)備,其中,所述至少一個(gè)數(shù)據(jù)采樣對(duì)應(yīng)于碼塊的一部分。
15.如權(quán)利要求14所述的設(shè)備,其中,所述處理器進(jìn)一步被配置為在每預(yù)定數(shù)目的時(shí)鐘周期的最后時(shí)鐘周期期間,向特定存儲(chǔ)器槽的第一部分寫入所接收的至少一個(gè)數(shù)據(jù)采樣;增加所述特定存儲(chǔ)器槽的地址,直到寫入操作的數(shù)目達(dá)到預(yù)定閾值,其中,在每預(yù)定數(shù)目的時(shí)鐘周期的最后時(shí)鐘周期期間,所接收的至少一個(gè)數(shù)據(jù)采樣被寫入所述特定存儲(chǔ)器槽;以及在達(dá)到預(yù)定閾值之后,減小所述特定存儲(chǔ)器槽的地址,直到與當(dāng)前碼塊對(duì)應(yīng)的數(shù)據(jù)采樣被寫入,其中,所接收的至少一個(gè)數(shù)據(jù)采樣在每預(yù)定數(shù)目的時(shí)鐘周期的最后時(shí)鐘周期期間被寫入到所述特定存儲(chǔ)器槽。
16.如權(quán)利要求14至15中任一項(xiàng)所述的設(shè)備,其中所述處理器進(jìn)一步被配置為當(dāng)預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽的至少一個(gè)第二部分為空時(shí),以具有與預(yù)定閾值對(duì)應(yīng)的地址的存儲(chǔ)器槽為起始從至少一個(gè)存儲(chǔ)器槽讀取所寫入的數(shù)據(jù)采樣;以及降低所讀取的存儲(chǔ)器槽的地址,直到與當(dāng)前碼塊對(duì)應(yīng)的數(shù)據(jù)采樣被讀取。
17.如權(quán)利要求14至16中任一項(xiàng)所述的設(shè)備,其中所述處理器進(jìn)一步被配置為 接收與另一碼塊相關(guān)的至少一個(gè)數(shù)據(jù)采樣;以及執(zhí)行對(duì)所述碼塊的寫入和讀取操作,從而從具有與上一碼塊中預(yù)定閾值對(duì)應(yīng)的并增加 1的地址的存儲(chǔ)器槽開始寫入。
18.如權(quán)利要求14至17中任一項(xiàng)所述的設(shè)備,其中所述處理器進(jìn)一步被配置為 向用于與當(dāng)前碼塊對(duì)應(yīng)的數(shù)據(jù)采樣的地址中具有第二最低地址的存儲(chǔ)器槽的第一部分寫入最先接收的至少一個(gè)數(shù)據(jù)采樣;以及所述接口進(jìn)一步被配置為接收與當(dāng)前碼塊對(duì)應(yīng)的至少一個(gè)尾部數(shù)據(jù)采樣;以及該處理器進(jìn)一步被配置為 向用于當(dāng)前碼塊的地址中具有最低地址的存儲(chǔ)器槽的第二部分寫入所接收的至少一個(gè)尾部數(shù)據(jù)采樣。
19.如權(quán)利要求13至18中任一項(xiàng)所述的設(shè)備,其中所述至少一個(gè)數(shù)據(jù)采樣包括以下內(nèi)容的至少一個(gè)至少一個(gè)系統(tǒng)位和至少一個(gè)奇偶位。
20.如權(quán)利要求13至19中任一項(xiàng)所述的設(shè)備,其中所述第一部分是存儲(chǔ)器槽的最低有效的那一半,以及第二部分是存儲(chǔ)器槽的最高有效的那一半。
21.如權(quán)利要求13至20中任一項(xiàng)所述的設(shè)備,其中所述處理器進(jìn)一步被配置為 向臨時(shí)寄存器存儲(chǔ)在預(yù)定數(shù)目減1的時(shí)鐘周期上接收的至少一個(gè)數(shù)據(jù)采樣。
22.如權(quán)利要求13至21中任一項(xiàng)所述的設(shè)備,其中所述處理器進(jìn)一步被配置為 經(jīng)由單個(gè)端口訪問存儲(chǔ)器以便輸入或輸出數(shù)據(jù)。
23.如權(quán)利要求13至22中任一項(xiàng)所述的設(shè)備,其中所述處理器進(jìn)一步被配置為在具有最高地址的存儲(chǔ)器槽被寫入之后,通過從具有最低地址的存儲(chǔ)器槽開始來重用存儲(chǔ)器。
24.如權(quán)利要求13至23中任一項(xiàng)所述的設(shè)備,其中所述處理器進(jìn)一步被配置為 對(duì)寫入操作和讀取操作的數(shù)目進(jìn)行計(jì)數(shù);獲取碼塊大小的信息;確定是否發(fā)生以下內(nèi)容的至少一個(gè)存在要讀取的滿存儲(chǔ)器槽,存儲(chǔ)器為滿,以及存儲(chǔ)器為空;以及執(zhí)行以下內(nèi)容的至少一個(gè)如果有則控制對(duì)滿存儲(chǔ)器槽的讀取,如果存儲(chǔ)器為滿則限制接收所述至少一個(gè)數(shù)據(jù)采樣,以及控制對(duì)空存儲(chǔ)器的通知。
25.一種設(shè)備,包括接口部件,用于在預(yù)定數(shù)目的時(shí)鐘周期上接收至少一個(gè)數(shù)據(jù)采樣; 處理部件,用于在每預(yù)定數(shù)目的時(shí)鐘周期的最后時(shí)鐘周期期間,向包括一個(gè)或多個(gè)存儲(chǔ)器槽的存儲(chǔ)器寫入所接收的至少一個(gè)數(shù)據(jù)采樣,從而按地址的升序填充預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽的第一部分,以及在所述預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽就第一部分被填充之后, 按地址的降序填充所述預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽的第二部分,其中存儲(chǔ)器槽的一部分存儲(chǔ)在預(yù)定數(shù)目的時(shí)鐘周期上接收的所述至少一個(gè)數(shù)據(jù)采樣;處理部件,用于一旦至少一個(gè)存儲(chǔ)器槽的第一部分和第二部分被寫入,按地址的降序從預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽讀取所寫入的數(shù)據(jù)采樣,其中所述讀取發(fā)生在沒有向存儲(chǔ)器寫入數(shù)據(jù)的時(shí)鐘周期期間;以及接口部件,用于從所述預(yù)定的一個(gè)或多個(gè)存儲(chǔ)器槽轉(zhuǎn)發(fā)所讀取的數(shù)據(jù)采樣。
26. 一種計(jì)算機(jī)程序產(chǎn)品,在計(jì)算機(jī)可讀的分布式介質(zhì)上并包括程序代碼指令,當(dāng)被加載到設(shè)備中時(shí),執(zhí)行權(quán)利要求1至11中任一項(xiàng)所述的方法。
全文摘要
提供了一種用于對(duì)到接收器的解碼器的數(shù)據(jù)進(jìn)行重排的方案。該方案包括接收數(shù)據(jù),首先按地址的升序然后按地址的降序,分部分地向一個(gè)或多個(gè)存儲(chǔ)器槽寫入數(shù)據(jù)。該方案還包括按地址的降序讀取滿存儲(chǔ)器槽,并向解碼器轉(zhuǎn)發(fā)所讀取的數(shù)據(jù)。
文檔編號(hào)G06F12/02GK102414991SQ200980158889
公開日2012年4月11日 申請(qǐng)日期2009年4月24日 優(yōu)先權(quán)日2009年4月24日
發(fā)明者P·歐伊科諾馬科斯 申請(qǐng)人:諾基亞公司