專利名稱:Turbo解碼器的緩沖器結(jié)構(gòu)的制作方法
背景I.領(lǐng)域本發(fā)明涉及數(shù)據(jù)通信。本發(fā)明特別涉及一種為Turbo解碼器存儲(chǔ)中間結(jié)果的新穎的且經(jīng)改善的結(jié)構(gòu)。
II.背景無線通信系統(tǒng)廣泛用于提供多種類型的通信諸如話音、數(shù)據(jù)等。這些系統(tǒng)可能基于碼分多址(CDMA)、時(shí)分多址(TDMA)或一些其它的多址技術(shù)。CDMA系統(tǒng)提供優(yōu)于其它類型系統(tǒng)的一定優(yōu)勢(shì),包括增加的系統(tǒng)容量。
CDMA系統(tǒng)可能設(shè)計(jì)成支持一個(gè)或多個(gè)CDMA標(biāo)準(zhǔn)諸如(1)“TIA/EIA-95-BMobile Station-Base Station Compatibility Standard for Dual-ModeWideband Spread Spectrum Cellular System”(the IS-95 standard)(2)“TIA/EIA-98-D Recommended Minimum Standard for Dual-Mode WidebandSpread Spectrum Cellular Mobile Station”(the IS-98 standard)(3)由名為“3rdGeneration Partnership Project”(3GPP)的聯(lián)盟提供的標(biāo)準(zhǔn),它們體現(xiàn)在一組文檔內(nèi),包括文檔號(hào)3G TS 25.211、3G TS 25.212、3G TS 25.213以及3G TS 25.214(W-CDMA標(biāo)準(zhǔn)),(4)由名為“3rdGeneration PartnershipProject 2”(3GPP2)的聯(lián)盟提供的標(biāo)準(zhǔn),它們體現(xiàn)在一組文檔內(nèi),包括文檔號(hào)C.S0002-A、C.S0005-A、C.S0010-A、C.S0011-A、C.S0024以及C.S0026(cdma2000標(biāo)準(zhǔn))以及(5)一些其它標(biāo)準(zhǔn)。這些標(biāo)準(zhǔn)在此引入作為參考。
每個(gè)標(biāo)準(zhǔn)具體定義了在前向和反向鏈路上數(shù)據(jù)傳輸?shù)奶幚?。例如,語音信息可能以特定數(shù)據(jù)率被編碼,格式化為一定義的幀格式并根據(jù)特定處理方案經(jīng)處理(例如,為差錯(cuò)糾正和/或檢測(cè)而編碼、經(jīng)交織等)。特定標(biāo)準(zhǔn)(例如cdma2000標(biāo)準(zhǔn))定義的幀格式和處理可能不同于其它標(biāo)準(zhǔn)(例如W-CDMA標(biāo)準(zhǔn))。
W-CDMA標(biāo)準(zhǔn)支持靈活的操作。例如,數(shù)據(jù)可能以突發(fā)方式在一個(gè)或多個(gè)“物理”信道上傳輸,數(shù)據(jù)率可能隨每幀而變化,數(shù)據(jù)的處理還可能有變化(例如隨每個(gè)幀不同和/或隨“傳輸”信道和信道不同)等。
W-CDMA標(biāo)準(zhǔn)使用并行鏈接卷積編碼器(經(jīng)常稱為Turbo編碼器),可能選用此以在傳輸前對(duì)碼段(即數(shù)據(jù)分組編碼。Turbo編碼器使用兩個(gè)并行操作的組成編碼器與碼交織器的組合。碼交織器根據(jù)特定定義的交織方案將分組內(nèi)的信息攪亂(即交織)。一個(gè)編碼器對(duì)分組內(nèi)的信息比特進(jìn)行編碼以生成奇偶校驗(yàn)位的第一序列,另一個(gè)編碼器對(duì)經(jīng)攪亂的信息編碼以生成奇偶校驗(yàn)位的第二序列。信息比特以及第一和第二序列的奇偶校驗(yàn)位的所有或一些被發(fā)送。
互補(bǔ)(計(jì)算強(qiáng)度大的)Turbo解碼在接收機(jī)單元處實(shí)現(xiàn)。對(duì)每個(gè)經(jīng)Turbo編碼的分組,接收到的比特被存儲(chǔ)在緩沖器內(nèi)。第一編碼器的信息和奇偶校驗(yàn)位從緩沖器中獲取并根據(jù)第一組成碼被解碼以提供指明信息比特的檢測(cè)到的值的置信度的調(diào)整的“外來”信息。包括從第一解碼器來的外部信息的中間結(jié)果然后以在發(fā)射機(jī)單元處所使用的碼交織相匹配的交織順序存儲(chǔ)在存儲(chǔ)單元內(nèi)。
然后從它們相應(yīng)的源獲取從第二編碼器來的中間結(jié)果和奇偶校驗(yàn)位并根據(jù)第二組成碼經(jīng)解碼以提供指明信息比特的檢測(cè)到的值內(nèi)秘密調(diào)整的外部信息。包括從第二解碼器來的外部信息的中間結(jié)果然后以與在發(fā)射機(jī)單元處所使用的碼交織互補(bǔ)的解交織順序被存儲(chǔ)在存儲(chǔ)單元內(nèi)。中間結(jié)果為第一組成解碼器在下一迭代中使用。第一和第二組成解碼器的解碼經(jīng)多次迭代以產(chǎn)生最終結(jié)果。
對(duì)每個(gè)要被解碼的信息比特,存儲(chǔ)單元被訪問以獲得由先前解碼為該比特生成的中間結(jié)果(如果有的話)。為每個(gè)經(jīng)編碼比特生成的中間結(jié)果也存儲(chǔ)回存儲(chǔ)單元用于下一次解碼。隨著分組內(nèi)的比特被編碼存儲(chǔ)單元因此被連續(xù)訪問。有效的存儲(chǔ)器管理對(duì)有效的Turbo解碼是很關(guān)鍵的。
由此可見,是很需要可能用于有效存儲(chǔ)Turbo解碼器的中間結(jié)果的緩沖器結(jié)構(gòu)的。
概述本發(fā)明的方面提供可能用于有效存儲(chǔ)Turbo解碼器中間結(jié)果的緩沖器結(jié)構(gòu)(例如先驗(yàn)概率(APP)數(shù)據(jù))。為增加在Turbo解碼中的APP數(shù)據(jù)的訪問吞吐量,緩沖器結(jié)構(gòu)設(shè)計(jì)成支持對(duì)于每個(gè)訪問循環(huán)兩個(gè)或多個(gè)信息比特的APP數(shù)據(jù)的進(jìn)發(fā)訪問。每個(gè)比特的APP數(shù)據(jù)或是代表信息比特和其外部信息的組合或只是比特的外部信息。進(jìn)發(fā)訪問可以通過將緩沖器分為多個(gè)存儲(chǔ)體而獲得,每個(gè)存儲(chǔ)體可獨(dú)立被訪。例如,六個(gè)或更多的存儲(chǔ)體可能用于在W-CDMA系統(tǒng)內(nèi)使用的Turbo解碼器。
Turbo解碼器使用碼交織方案以在由第二組成編碼器編碼前攪亂數(shù)據(jù)分組內(nèi)的信息比特。碼交織方案一般指定(1)將數(shù)據(jù)分組(或碼段)內(nèi)的信息一行一行寫入二維數(shù)組,(2)在每行內(nèi)攪亂元素以及(3)攪亂行。之后比特從數(shù)組內(nèi)一列一列讀出。同樣的交織方案以及互補(bǔ)的解交織方案用于存儲(chǔ)/獲取Turbo解碼器的APP數(shù)據(jù)。
對(duì)Turbo解碼,APP數(shù)據(jù)可能通過“經(jīng)交織”尋址模式或“線性”尋址模式。經(jīng)交織的尋址模式對(duì)應(yīng)在數(shù)據(jù)分組內(nèi)“經(jīng)交織”位置的APP數(shù)據(jù)的訪問,線性尋址模式對(duì)應(yīng)分組內(nèi)“線性”位置處的APP數(shù)據(jù)的訪問。為避免訪問爭(zhēng)用,存儲(chǔ)體被分配給數(shù)組的行列使得通過任一(或是線性或是經(jīng)交織的)尋址模式訪問的相繼比特的APP數(shù)據(jù)是來自不同的存儲(chǔ)體。
為保證以線性尋址模式訪問兩個(gè)不同的存儲(chǔ)體以獲得兩個(gè)相繼比特的APP數(shù)據(jù),存儲(chǔ)體能經(jīng)安排并經(jīng)分配使得一組存儲(chǔ)體用于數(shù)組的偶數(shù)列,而另一組存儲(chǔ)體用于奇數(shù)列。使用該奇/偶分配方案,相繼線性地址與兩個(gè)不同的存儲(chǔ)體組相關(guān)。
為保證以經(jīng)交織尋址模式訪問兩個(gè)不同的存儲(chǔ)體以獲得兩個(gè)相繼比特的APP數(shù)據(jù),存儲(chǔ)體能被分配給數(shù)組的行組。由于數(shù)據(jù)分組的比特以經(jīng)交織尋址模式從數(shù)組一列一列地獲取,則行可以被安排成組使得經(jīng)交織尋址模式的相鄰行被分配給不同組。行的分組一般取決于用于攪亂行的一個(gè)或多個(gè)排列模式。行分組在以下將詳細(xì)描述。
本發(fā)明的多個(gè)方面、實(shí)施例以及特征將在以下詳細(xì)描述。
附圖的簡(jiǎn)要描述通過下面提出的結(jié)合附圖的詳細(xì)描述,本發(fā)明的特征、性質(zhì)和優(yōu)點(diǎn)將變得更加明顯,附圖中相同的符號(hào)具有相同的標(biāo)識(shí),其中
圖1是能實(shí)現(xiàn)本發(fā)明多個(gè)方面的通信系統(tǒng)的簡(jiǎn)化框圖;圖2A和2B是根據(jù)W-CDMA標(biāo)準(zhǔn)分別用于下行鏈路數(shù)據(jù)傳輸在發(fā)射機(jī)單元和接收機(jī)單元處的信號(hào)處理圖;圖3是W-CDMA標(biāo)準(zhǔn)定義的Turbo編碼器的圖例;圖4是Turbo解碼器的設(shè)計(jì)的模塊圖;圖5是根據(jù)本發(fā)明實(shí)施例的Turbo解碼器的模塊圖6是根據(jù)特定行分組將R.C數(shù)組內(nèi)的行列分配到六個(gè)存儲(chǔ)體的圖例;圖7是定義存儲(chǔ)Turbo解碼器的中間結(jié)果的緩沖器結(jié)構(gòu)的處理實(shí)施例的流程圖,以及;圖8是可能用于實(shí)現(xiàn)圖5示出的APP存儲(chǔ)單元的緩沖器結(jié)構(gòu)的實(shí)施例模塊圖。
詳細(xì)描述圖1是能實(shí)現(xiàn)本發(fā)明多個(gè)方面的通信系統(tǒng)100的簡(jiǎn)化模塊圖。在特定的實(shí)施例中,通信系統(tǒng)100是符合W-CDMA標(biāo)準(zhǔn)的CDMA系統(tǒng)。在發(fā)射機(jī)單元110處,從數(shù)據(jù)源一般以分組發(fā)送到數(shù)據(jù)到發(fā)送(TX)數(shù)據(jù)處理器114,它對(duì)數(shù)據(jù)格式化、編碼并處理以生成一個(gè)或多個(gè)模擬信號(hào)。模擬信號(hào)然后提供給發(fā)射機(jī)(TMTR)116,它對(duì)信號(hào)實(shí)現(xiàn)(正交)調(diào)制、濾波、放大并上變頻以生成已調(diào)信號(hào)。已調(diào)信號(hào)然后通過一個(gè)或多個(gè)天線118發(fā)射(在圖1只示出一個(gè))到一個(gè)或多個(gè)接收機(jī)單元。
在接收機(jī)單元130處,經(jīng)發(fā)射的信號(hào)由一個(gè)或多個(gè)天線132(再次只示出一個(gè))接收,并提供給接收機(jī)(RCVR)134。在接收機(jī)134內(nèi),接收到的信號(hào)經(jīng)放大、濾波、下變頻、(正交)解調(diào)并數(shù)字化以生成采樣。采樣然后由接收(RX)數(shù)據(jù)處理器136經(jīng)處理并解碼以恢復(fù)經(jīng)發(fā)射的數(shù)據(jù)。接收機(jī)單元130處的處理和解碼以與在發(fā)射機(jī)單元110的處理和編碼互補(bǔ)的方式實(shí)現(xiàn)。經(jīng)恢復(fù)的數(shù)據(jù)然后提供給數(shù)據(jù)宿138。
以上描述的信號(hào)處理支持單向的話音、視頻、分組數(shù)據(jù)、消息以及其它類型的通信。雙向通信系統(tǒng)支持雙向數(shù)據(jù)傳輸。然而,其它方向的信號(hào)處理因?yàn)楹?jiǎn)潔的緣故未在圖1中示出。
圖2A是根據(jù)W-CDMA標(biāo)準(zhǔn)在發(fā)射機(jī)單元110處下行鏈路數(shù)據(jù)傳輸?shù)男盘?hào)處理圖。下行鏈路指的是從基站到用戶終端的傳輸(或用戶設(shè)備(UE)),上行鏈路是指從用戶終端到基站的傳輸。圖2A示出的信號(hào)處理一般由圖1的發(fā)射數(shù)據(jù)處理器實(shí)現(xiàn)。W-CDMA系統(tǒng)的上層信令層支持多個(gè)傳輸信道的同時(shí)傳輸,每個(gè)傳輸信道能攜帶特定通信的數(shù)據(jù)(例如話音、視頻、數(shù)據(jù)等)。以分組形式將每個(gè)傳輸信道的數(shù)據(jù)提供給相應(yīng)的傳輸信道處理部分210,其中分組又稱為傳輸分組。
在傳輸信道處理部分210內(nèi),在框212內(nèi),每個(gè)傳輸分組被用于計(jì)算循環(huán)冗余校驗(yàn)(CRC)比特。CRC比特附在傳輸分組上并在接收機(jī)單元用于差錯(cuò)檢測(cè)。多個(gè)經(jīng)CRC編碼的分組然后在框214內(nèi)被串行鏈接起來。如果在鏈接后的比特總數(shù)大于碼分組的最大大小,則比特被分段為多個(gè)(等大小)的碼分組。每個(gè)碼分組然后以特定的編碼方案編碼。每個(gè)碼分組然后在框216內(nèi)以特定的編碼方案(例如,卷積碼、Turbo碼)編碼或根本不編碼。
然后在碼比特上在框218內(nèi)實(shí)現(xiàn)碼率匹配。碼率匹配根據(jù)更高信令層分配的碼率匹配特性而實(shí)現(xiàn)。在上行鏈路上,比特經(jīng)重建或截短(即刪除)使得要發(fā)射的比特?cái)?shù)與可用比特?cái)?shù)匹配。在框220內(nèi),在下行鏈路上,未使用的比特位置用不連續(xù)發(fā)送(DTX)比特填充。DTX比特指明何時(shí)關(guān)閉傳輸以及實(shí)際沒有傳輸。
在框222內(nèi),比特然后根據(jù)特定交織方案經(jīng)交織以提供時(shí)間分集。根據(jù)W-CDMA標(biāo)準(zhǔn),實(shí)現(xiàn)交織的時(shí)間間隔能從一組可能的時(shí)間間隔中選出(即10msec、20msec、40msec以及80msec)。交織時(shí)間間隔還被稱為傳輸時(shí)間間隔(TTI)。TTI是與每個(gè)傳輸信道相關(guān)的屬性,并且根據(jù)W-CDMA標(biāo)準(zhǔn),在通信對(duì)話持續(xù)時(shí)間內(nèi)不改變。如在此使用的,“話務(wù)”包括特定傳輸信道的一個(gè)TTI內(nèi)的比特。
當(dāng)選擇的TTI大于10msec時(shí),在框224內(nèi),話務(wù)被分段并映射到相繼的傳輸信道無線電幀內(nèi)。每個(gè)傳輸信道無線電幀對(duì)應(yīng)在(10msec)無線電幀時(shí)段上的傳輸。根據(jù)W-CDMA標(biāo)準(zhǔn),話務(wù)可能在1、2、4或8個(gè)無線電幀時(shí)段上經(jīng)交織。
在框232內(nèi),從所有活動(dòng)傳輸信道處理部分210來的無線電幀然后經(jīng)串行多路復(fù)用到經(jīng)編碼的復(fù)合傳輸信道(CCTrCH)上。在框234內(nèi),DTX比特然后可能被插入多路復(fù)用的無線電幀使得要發(fā)射的比特?cái)?shù)匹配用于數(shù)據(jù)傳輸?shù)奈锢硇诺郎系目捎帽忍財(cái)?shù)。如果使用多于一個(gè)物理信道,則在框236內(nèi)比特在物理信道間被分段。特定的物理信道能攜帶帶有不同TTIs的傳輸信道。在框238處,每個(gè)物理信道的每個(gè)無線電幀時(shí)段內(nèi)的比特然后經(jīng)交織以提供附加時(shí)間分集。在框240處經(jīng)交織的物理信道無線電幀然后被映射到它們相應(yīng)的物理信道。相繼的以生成合適傳輸?shù)接脩艚K端的已調(diào)信號(hào)的信號(hào)處理在領(lǐng)域內(nèi)是已知的,在此不作描述。
圖2B是根據(jù)W-CDMA標(biāo)準(zhǔn)下行鏈路數(shù)據(jù)傳輸在接收機(jī)單元130處的信號(hào)處理圖。圖2B示出的信號(hào)處理與圖2A示出的互補(bǔ),且一般由圖1內(nèi)的接收數(shù)據(jù)處理器實(shí)現(xiàn)。開始時(shí),已調(diào)信號(hào)經(jīng)接收、經(jīng)調(diào)整、經(jīng)數(shù)字化且經(jīng)處理以提供碼元給用于數(shù)據(jù)傳輸?shù)拿總€(gè)物理信道。每個(gè)碼元具有特定的分辨率(例如4比特或更多)并對(duì)應(yīng)發(fā)送的比特。在框252內(nèi),在每個(gè)物理信道的每個(gè)無線電幀時(shí)段內(nèi)的碼元經(jīng)解交織,且從所有物理信道來的經(jīng)解交織的碼元在框254內(nèi)經(jīng)鏈接。對(duì)下行鏈路傳輸,非發(fā)送的比特在框256內(nèi)被檢測(cè)并被移去。在框258,各碼元然后被多路分解成各傳輸信道。每個(gè)傳輸信道的無線電幀然后被提供給相應(yīng)的傳輸信道處理部分260。
在傳輸信道處理部分260內(nèi),在框262內(nèi)傳輸信道無線電幀經(jīng)鏈接成話務(wù)。每個(gè)話務(wù)包括一個(gè)或多個(gè)傳輸信道無線電幀并對(duì)應(yīng)在發(fā)射機(jī)單元處使用的特定TTI。每個(gè)話務(wù)內(nèi)的碼元在框264內(nèi)經(jīng)解交織,在框266內(nèi)移去非發(fā)射的碼元。然后在框268內(nèi)實(shí)現(xiàn)反碼率匹配以累加重復(fù)碼元并為截除的碼元插入“don’t care”。在框270內(nèi)話務(wù)內(nèi)的每個(gè)經(jīng)編碼的分組然后經(jīng)解碼。在框272內(nèi),經(jīng)解碼的分組然后經(jīng)鏈接并被分段為它們相應(yīng)的傳輸分組。在框274內(nèi),每個(gè)傳輸分組然后使用CRC比特檢查差錯(cuò)。
圖3是W-CDMA標(biāo)準(zhǔn)定義的并行鏈接卷積編碼器(又稱為Turbo編碼器)300的圖例。Turbo編碼器300可能用于實(shí)現(xiàn)圖2A內(nèi)框216內(nèi)的信道編碼。Turbo編碼器300包括一對(duì)組成編碼器312a和312b、碼交織器314以及截短器以及多路復(fù)用器316。碼交織器314根據(jù)W-CDMA標(biāo)準(zhǔn)定義的特定交織方案在碼段(即分組)內(nèi)接收并對(duì)信息比特交織,以下將詳述。
每個(gè)組成編碼器312接收或是線性順序的或經(jīng)交織的信息比特、用定義的組成編碼對(duì)接收到的信息比特編碼并提供奇偶校驗(yàn)比特序列。截短器和多路復(fù)用器316從編碼器312a和312b接收信息比特以及奇偶校驗(yàn)比特,截去(即刪除)零或更多的校驗(yàn)比特以獲得期望的比特?cái)?shù),并對(duì)未截去的信息和奇偶校驗(yàn)比特多路復(fù)用為經(jīng)編碼的比特序列。
每個(gè)組成編碼器312包括三個(gè)串聯(lián)耦合的延時(shí)元件322、四個(gè)模2的加法器324以及開關(guān)326。開始時(shí),延時(shí)元件322的狀態(tài)設(shè)為零,開關(guān)326處于向上位置。然后,對(duì)數(shù)據(jù)分組的每個(gè)信息比特,加法器324a對(duì)信息比特x實(shí)現(xiàn)與從加法器324d來的輸出比特的模2加法并將結(jié)果提供給延時(shí)元件322a。加法器324b和324c從加法器324a和延時(shí)元件322a和322c接收并實(shí)現(xiàn)比特的模2加法,并提供奇偶校驗(yàn)比特y。加法器324d實(shí)現(xiàn)從延時(shí)元件322b和322c來的比特的模2加法。
在數(shù)據(jù)分組內(nèi)的所有N信息比特都經(jīng)編碼后,開關(guān)326變?yōu)橄蛳挛恢们胰齻€(gè)零(“0”)尾比特被提供給組成編碼器312a。組成編碼器312a然后對(duì)三個(gè)尾比特編碼并提供四個(gè)尾校驗(yàn)比特。
對(duì)N個(gè)信息比特的每個(gè)分組,組成編碼器312a提供N個(gè)校驗(yàn)比特y和開始的六個(gè)尾校驗(yàn)比特,且組成編碼器312b提供N個(gè)校驗(yàn)比特z和最后六個(gè)尾校驗(yàn)比特。對(duì)每個(gè)分組,截短器和多路復(fù)用器316接收N個(gè)信息比特,從編碼器312a來的N+6個(gè)校驗(yàn)比特以及從編碼器312b來的N+6個(gè)校驗(yàn)比特。截短器和多路復(fù)用器316可能截去多個(gè)校驗(yàn)比特以提供需要的經(jīng)編碼比特?cái)?shù),它包括未截去的信息和校驗(yàn)比特。
圖4是Turbo解碼器400的設(shè)計(jì)模塊圖。在該設(shè)計(jì)中,Turbo解碼器400包括兩個(gè)組成解碼器410a和410b、碼交織器412、碼解交織器414以及檢測(cè)器416。每個(gè)解碼器410一般實(shí)現(xiàn)為軟輸入/軟輸出(SISO)最大后驗(yàn)(MAP)解碼器。然而,還可能使用其它類型的解碼器,諸如實(shí)現(xiàn)軟輸出Viterbi算法(SOVA)的解碼器。解碼器的設(shè)計(jì)一般取決于在發(fā)射機(jī)單元使用的特定Turbo編碼方案。
對(duì)應(yīng)于發(fā)射的經(jīng)編碼比特的接收到的(軟)比特由信道解交織器(圖4未示出)而經(jīng)解交織以解除在發(fā)射機(jī)單元實(shí)現(xiàn)的第一和第二交織(圖2A的框222和238)。對(duì)每個(gè)要解碼的數(shù)據(jù)分組,提供給解碼器410a和410b需要的信道解交織比特。
在圖4示出的實(shí)施例內(nèi),加法器408a接收并對(duì)LLR(APP0)、LLR(x′)以及從解交織器414來的外部信息求和以提供解碼器410a的先驗(yàn)概率(APP)。LLR(APP0)是從對(duì)信息比特采取的假設(shè)導(dǎo)出的對(duì)數(shù)似然比。如果數(shù)據(jù)分組內(nèi)的每個(gè)信息比特為零(“0”)或?yàn)橐?“1”)的概率相同,則LLR(APP0)對(duì)所有分組內(nèi)接收到的比特均為零,并忽略任何與LLR(APP0)相關(guān)的部分。從解交織器414來的外部信息在第一次解碼迭代時(shí)設(shè)為零。LLR(x′)是接收到的信息比特x′的對(duì)數(shù)似然比。每個(gè)接收到信息的LLR和奇偶校驗(yàn)位bm可計(jì)算如下LLR(bm)=log(P(bm=0)P(bm=1))]]>接收到比特的LLR是比特為零對(duì)比特為一的概率比的對(duì)數(shù)。概率P(bm=0)和P(bm=1)對(duì)每個(gè)接收到的比特一般是根據(jù)該比特的軟值。擦除(即截去比特)的LLR指明該比特為零或?yàn)橐痪哂邢嗟鹊目赡?即LLR=0)。
解碼器410a接收來自求和器408a的APP以及LLR(y′),它們是從第一組成編碼器接收到的奇偶校驗(yàn)比特y’的LLRs。LLR(y′)包括截除(即非發(fā)送的)校驗(yàn)比特的擦除,如果有的話。解碼器410a然后根據(jù)MAP算法對(duì)APP和LLR(y′)解碼以生成后驗(yàn)概率。APP然后由求和器408b從后驗(yàn)概率中減去以提供外部信息e1,它指明對(duì)由接收到的奇偶校驗(yàn)比特y’提供的接收到信息比特x’的值的置信度的糾正/調(diào)整。
從求和器408b來的外部信息e1與信息比特LLRsLLR(x′)一起求和且中間結(jié)果(是下一解碼器的APP)存儲(chǔ)在碼交織器412內(nèi)。碼交織器412實(shí)現(xiàn)同樣的在Turbo編碼器處的碼交織方案(例如用于圖3的碼交織器的同樣的方案)。
解碼器410b從交織器412接收經(jīng)交織的APP以及LLR(z′),這是從第二組成編碼器來的接收到的奇偶校驗(yàn)比特z’的LLRs。解碼器410b然后根據(jù)MAP算法對(duì)APP和LLR(z′)解碼以生成后驗(yàn)概率。APP然后由求和器408d從先驗(yàn)概率中減去以提供外部信息e2,它指明對(duì)由接收到的奇偶校驗(yàn)位z’提供的接收到信息比特x’的值的可信度的進(jìn)一步糾正/調(diào)整。外部信息e2包括從解碼器410b來的中間結(jié)果,它存儲(chǔ)在碼解交織器414中。解交織器414實(shí)現(xiàn)與用于交織器412的交織方案互補(bǔ)的解交織方案。
信息比特LLRs的解碼經(jīng)迭代多次(例如6、8、10或可能更多次)。每次迭代,信息比特的檢測(cè)到值的置信度增大。在所有的解碼迭代完成后,最終的LLRs提供給檢測(cè)器418,它根據(jù)它們的LLRs提供接收到的信息比特的硬判決值(即“0s”和“1s”)。
圖5是根據(jù)本發(fā)明的實(shí)施例的Turbo解碼器500的框圖。Turbo解碼器500是圖4的Turbo解碼器400的一特定實(shí)施例。在該實(shí)施例中,Turbo解碼器500包括輸入接口單元506、本地存儲(chǔ)器/組合器508、SISO MAP解碼器510、地址發(fā)生器512a和512b、存儲(chǔ)單元520、檢測(cè)器518以及能量度量計(jì)算器522。參考圖4,兩個(gè)組成解碼器410a和410b串聯(lián)操作,從一個(gè)解碼器來的外部信息作為輸入提供給另一解碼器。由于兩個(gè)組成解碼器的串聯(lián)操作,只要一個(gè)(物理)解碼器就能用于實(shí)現(xiàn)兩個(gè)組成解碼器。
輸入接口單元506提供信道解交織器502和MAP解碼器510間的信道。對(duì)一些系統(tǒng),如果截短在發(fā)射機(jī)端實(shí)現(xiàn),則輸入接口單元506可能被設(shè)計(jì)成提供對(duì)編碼比特的解除截短。解除截短是通過對(duì)每個(gè)截去的比特提供擦除而實(shí)現(xiàn)的,擦除指明該比特為零和為一的等可能性。
根據(jù)實(shí)施的特定的解碼輪次(即為第一或第二組成編碼器解碼),信息和奇偶校驗(yàn)比特的合適序列由信道解交織器502提供給存儲(chǔ)器/組合器508。從先前迭代獲得的APP還由APP存儲(chǔ)單元520提供給存儲(chǔ)器/組合器508。在一實(shí)施例中,存儲(chǔ)器/組合器508設(shè)計(jì)成(1)為接收到的(軟)信息比特接收并計(jì)算LLR,(2)組合在步驟(1)內(nèi)計(jì)算的LLR(x′)以及對(duì)應(yīng)的外部信息以生成APP,以及(3)接收并為接收到的奇偶校驗(yàn)比特計(jì)算LLR。
在一實(shí)施例中,存儲(chǔ)器/組合器508用滑動(dòng)窗結(jié)構(gòu)(SWA)實(shí)現(xiàn),它暫時(shí)存儲(chǔ)例如四個(gè)具有信息和奇偶校驗(yàn)比特的窗口。當(dāng)三個(gè)信息和奇偶校驗(yàn)比特窗口由解碼器510內(nèi)的三個(gè)狀態(tài)度量計(jì)算器操作時(shí),第四個(gè)窗口正用從信道解交織器502和存儲(chǔ)單元520來的值更新。在一實(shí)施例中,每個(gè)窗口大小為32,即每個(gè)窗口包括32個(gè)x’碼元和32個(gè)y’(或z’)碼元??赡苁褂闷渌翱陂L(zhǎng)度和/或不同的窗口數(shù),且這在本發(fā)明的范圍內(nèi)。
在一實(shí)施例中,解碼器510實(shí)現(xiàn)執(zhí)行對(duì)數(shù)MAP算法的SISO解碼器。還可能使用任何基于MAP的解碼算法(例如最大對(duì)數(shù)MAP算法或max*對(duì)數(shù)MAP算法兩個(gè)都是領(lǐng)域內(nèi)已知的)。在一實(shí)施例中,為實(shí)現(xiàn)MAP算法,解碼器510包括一個(gè)前向狀態(tài)度量計(jì)算器以及兩個(gè)反向狀態(tài)度量計(jì)算器。每個(gè)前向(或反向)狀態(tài)度量計(jì)算器在給定的一個(gè)當(dāng)前時(shí)刻計(jì)算網(wǎng)格結(jié)構(gòu)中的2K-1個(gè)狀態(tài)的每個(gè)的概率的對(duì)數(shù),這是基于(1)在先前(或?qū)?時(shí)刻中的概率以及(2)先前(或?qū)?狀態(tài)的路徑間的概率和當(dāng)前時(shí)間的狀態(tài),其中K是組成編碼器的限制長(zhǎng)度。這些前向和反向狀態(tài)度量(相應(yīng)為α和β),用于計(jì)算信息比特的后驗(yàn)概率。前向和后向狀態(tài)度量計(jì)算和Turbo解碼在以下論文中有詳細(xì)描述,Steven S.Pietrobon的題為“Implementation and Performance of a Turbo/MapDecoder”,International Journal of Satellite Communications,Vol.16,1998.pp.23-46,在此引入作參考。
滑動(dòng)窗結(jié)構(gòu)和一個(gè)前向和兩個(gè)反向狀態(tài)度量計(jì)算器的使用減少了存儲(chǔ)的需要且只是適中地增加了計(jì)算量。單個(gè)反向狀態(tài)度量計(jì)算器可以在一輪通過中從分組的尾部操作到分組的開始,但這需要大量存儲(chǔ)空間。在一實(shí)施例中,為特定的一輪解碼執(zhí)行以下操作序列
FWMC(1~32)FWMC(33~64)FWMC(65~96) 和RWMC A(64~33)FWMC(97~128) 和RWMC A(32~1)及RWMC B(95~65)FWMC(129~160)和RWMC B(64~33)及RWMC A(129~97)FWMC(161~192)和RWMC A(96~65)及RWMC B(160~129)…其中FWMC(1-32)代表比特1到比特32的前向度量計(jì)算,RWMC(32-1)代表比特32到1的反向度量計(jì)算。從FWMC來的結(jié)果與下劃線的RWMC組合以形成后驗(yàn)概率,APP碼元由此而被獲取以導(dǎo)出外部信息。外部信息與信息比特LLRs組合以形成為下一解碼階段的APP碼元。
解碼器510的輸出存儲(chǔ)到APP存儲(chǔ)單元520。在一實(shí)施例中,APP存儲(chǔ)單元520用于以經(jīng)交織順序存儲(chǔ)從解碼器510來的APP碼元(與也可能使用的線性順序相反)。以經(jīng)交織順序存儲(chǔ)中間結(jié)果可能簡(jiǎn)化存儲(chǔ)器的分劃,并進(jìn)一步使得Turbo編碼器和解碼器能使用相同的交織地址發(fā)生器。在一實(shí)施例中,APP存儲(chǔ)單元520進(jìn)一步用于存儲(chǔ)從第一組成解碼來的APP碼元和從第二組成解碼來的外部信息。
對(duì)第一組成解碼,從先前第二組成解碼來的外部信息從存儲(chǔ)單元520以解交織順序而被獲取,由解碼生成的APP碼元以交織順序存儲(chǔ)在存儲(chǔ)單元520內(nèi)。相應(yīng)地,對(duì)第二組成解碼,從先前第一組成解碼來的APP碼元從存儲(chǔ)單元520以線性順序獲取,且由解碼生成的外部信息以線性順序存儲(chǔ)在存儲(chǔ)單元520內(nèi)。
地址發(fā)生器512a和512b相應(yīng)提供存儲(chǔ)單元520的寫和讀地址。多路復(fù)用器514a象征性地示出在圖5中以指明APP碼元/外部信息可能以線性或經(jīng)交織順序?qū)懭氪鎯?chǔ)單元520,多路復(fù)用器514b象征性地示出以指明APP碼元/外部信息可能以線性或解交織順序從存儲(chǔ)單元中獲取。
檢測(cè)器518在最后解碼迭代后接收APP碼元并提供對(duì)接收到的信息比特的硬判決。能量度量計(jì)算器522提供信息比特的能量度量(或它們的LLRs)。能量度量可能用作檢測(cè)到的信息比特內(nèi)的置信度的指示。
對(duì)圖4和5示出的Turbo解碼器設(shè)計(jì),存儲(chǔ)單元存儲(chǔ)從第一組成解碼器來的APP數(shù)據(jù)以及從第二組成解碼器來的外部信息。APP數(shù)據(jù)和外部信息是從組成解碼器來的兩種不同形式的中間結(jié)果。如在此使用的,中間結(jié)果能包括任何從一個(gè)組成解碼器到下一個(gè)解碼器的任何信息,且可能采取任何形式。一般,從任何組成解碼器來的要存儲(chǔ)的中間結(jié)果的特定形式取決于Turbo解碼器的特定設(shè)計(jì)。
碼交織是Turbo編碼器和解碼器的重要和整合部分。無論在Turbo編碼器處選擇哪種碼交織方案,使用同一方案以存儲(chǔ)/獲取從第一組成解碼來的APP碼元,一互補(bǔ)的方案用于存儲(chǔ)/獲取第二組成解碼的外部信息。
W-CDMA標(biāo)準(zhǔn)定義Turbo編碼器特定的交織方案。該交織方案可能被分為三個(gè)階段(1)一行行將“碼段”內(nèi)的信息比特寫入RxC數(shù)組,(2)在每行內(nèi)重新安排元素(即行內(nèi)排列),以及(3)交換行(即行間排列)。此后,比特一列列從數(shù)組中讀出,開始于RxC數(shù)組的左上元素。這三階段在以下將詳述,且此后提供一例子以更好地理解交織方案。
在第一階段,每個(gè)碼段內(nèi)的比特被寫入RxC數(shù)組。W-CDMA標(biāo)準(zhǔn)支持從40到5114比特范圍間的碼段。開始時(shí),數(shù)組內(nèi)的行數(shù)R是根據(jù)碼段K的大小K決定的,如下R=5,假使40≤K≤159;R=10,假使160≤K≤200或481≤K≤530;或R=20,對(duì)于所有其它K。
數(shù)組內(nèi)的列數(shù)C下一步是根據(jù)R和K決定的,如下C=53,假使481≤K≤530;否則選擇一質(zhì)數(shù)p,使(p+1)·R≥K,然后選擇C=min{p-1,p,p+1}使R·C≥K。
一旦對(duì)給定的K決定了R和C,碼段內(nèi)的比特一行行寫入RxC數(shù)組。由于K≤R·C,則在數(shù)組底部可能為空(即一行或多行或一部分可能不包括任何比特)。
在第二階段,每行內(nèi)的元素根據(jù)為該行指定的行排列序列而被排列(即攪亂)。行內(nèi)排列可能以系列步驟實(shí)現(xiàn)。第一步,生成長(zhǎng)度為p的基序列c(i)。對(duì)在第一階段確定的每個(gè)可能的質(zhì)數(shù)p,如W-CDMA標(biāo)準(zhǔn)定義并在表1內(nèi)示出的,有與該質(zhì)數(shù)相關(guān)的本原根g0。基序列c(i)然后導(dǎo)出如下c(i)=[g0·c(i-1)]模(p),對(duì)于i=1,2,...,(p-1)公式(1)其中c(0)=1。
表1
在第二階段的第二步驟中,構(gòu)建R個(gè)質(zhì)數(shù)的序列qj。該質(zhì)數(shù)序列的元素經(jīng)選擇使得能滿足以下的準(zhǔn)則g.c.d.{qj,p-1}=1;qj>6;及qj>qj-1, 公式(2)其中,g.c.d是最大公因子且g0=1。
質(zhì)數(shù)序列qj基本是遞增的最小質(zhì)數(shù)序列,它不包括是(p-1)的因子的質(zhì)數(shù)。該質(zhì)數(shù)序列qj中的R元素相應(yīng)地與數(shù)組的R行相關(guān)。序列qj內(nèi)的R個(gè)元素的每個(gè)此后用于計(jì)算相關(guān)行的行內(nèi)排列序列,下面將詳細(xì)描述。
由于在質(zhì)數(shù)序列qj內(nèi)從索引0到R-1分別與0行到R-1行相關(guān),且由于行在行內(nèi)排列后相繼用行間排列序列Px而經(jīng)排列變換,質(zhì)數(shù)序列qj內(nèi)的元素還使用同樣的行內(nèi)排列序列Px被排列。序列Px從四個(gè)可能的序列PA,PB,PC以及PD為碼段選擇,如以下將詳述的。經(jīng)排列的質(zhì)數(shù)序列pj被確定為pPx(j)=qj,對(duì)j=0,1,...R-1.公式(3)在第二階段的第三步驟中,每行的行內(nèi)排列序列cj(i)確定如下cj(i)=c([i·pj]模(p-1)),對(duì)于i=1,2,...,(p-2) 公式(4)其中cj(p-1)=0,j是在行間排列變換后的行索引,c(x)是行內(nèi)排列變換的基序列且用以上的等式(1)被計(jì)算,且cj(i)是在第j行的排列后的第i個(gè)輸出的輸入比特位置。每行的行內(nèi)排列序列cj(i)是根據(jù)基序列c(x)且在經(jīng)排列的質(zhì)數(shù)序列內(nèi)的質(zhì)數(shù)pj是與該行相關(guān)的。每行內(nèi)的元素經(jīng)排列使得經(jīng)排列的行內(nèi)的第i個(gè)單元的位置存儲(chǔ)原行內(nèi)在第cj(i)單元位置處存儲(chǔ)的元素。
如上所述,C可能等于p-1、p或p+1。因此,行內(nèi)排列序列cj(i)用作如下如果C=p-1,則為i=1,2,...,(p-2)使用cj(i)-1;否則如果C=p,則為i=1,2,...,(p-2)使用cj(i),且cj(p-1)=0;以及否則如果C=p+1,則為i=1,2,...,(p-2)使用cj(i),且cj(p-1)=0,cj(p)=p;以及如果R·C=K,則交換cR-1(p)與cR-1(0);在第三階段,數(shù)組內(nèi)的R行根據(jù)行間排列序列Px被排列,這是從四種可能的序列PA,PB,PC以及PD選出的,由W-CDMA標(biāo)準(zhǔn)定義如下PA=(19,9,14,4,0,2,5,7,12,18,10,8,13,17,3,1,16,6,15,11}PB={19,9,14,1,0,2,5,7,12,18,16,13,17,15,3,1,6,11,8,10}PC={9,8,7,6,5,4,3,2,1,0}PD={4,3,2,1,0}用于碼段的特定行間排列變換序列根據(jù)以下選擇如果K屬于[201,480]、[531,2280]、[2481,3160]或3211,5114]比特,則選擇PA。
如果K屬于[2281,2480]或[3161,3210],則選擇PB。
如果K屬于[160,200]或[481,530](即K=10),則選擇PC。
如果K屬于[40,155](即當(dāng)R=5時(shí),使用PD),則選擇PD。
實(shí)現(xiàn)行間排列使得原數(shù)組內(nèi)的第j行移至經(jīng)排列的數(shù)組內(nèi)的PXj行位置。
在行間排列變換后,比特一行一行從上至下讀出(即從0行到R-1行)。如上所述,由于K≤R·C,數(shù)組內(nèi)的一些單元可能不包括合法的數(shù)據(jù)且當(dāng)讀出數(shù)據(jù)時(shí)跳過這些單元。
為清楚之故,以下提供了一個(gè)上述的交織方案的例子。在該例中,K=379導(dǎo)致選擇R=20。質(zhì)數(shù)p然后被確定為p=19且列數(shù)C確定為C=19。對(duì)該質(zhì)數(shù)p,相關(guān)的原本根g0=2。使用等式(1),基序列c(i)被確定為c(i)={1,2,4,8,16,13,7,14,9,18,17,15,11,3,6,12,5,10}質(zhì)數(shù)序列qi從方程組(2)確定得到qj={1,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79}對(duì)該K=379,選擇行間排列序列PA。經(jīng)排列的質(zhì)數(shù)序列pj根據(jù)相等性(pPAj=qj)]]>從質(zhì)數(shù)序列qj而生成以提供如下pj={17,61,19,59,13,23,71,29,43,7,41,79,31,47,11,73,67,53,37,1}每行的行內(nèi)排列序列cj(i)然后根據(jù)pj以及基序列c(i)而確定。對(duì)第一行(j=0),行的質(zhì)數(shù)是p0=17且行內(nèi)排列序列c0(i)被確定為c0(i)=c(i·p0模(p-1))=c(i·17模18)={1,10,5,12,6,3,11,15,17,18,9,14,7,13,16,8,4,2,0}其它行的行內(nèi)排列變換序列cj(i)能以類似的方式被確定。
Turbo解碼是計(jì)算強(qiáng)度較大的過程。對(duì)每個(gè)Turbo編碼的碼段,接收發(fā)射的編碼比特并存儲(chǔ)到臨時(shí)存儲(chǔ)單元(例如圖5的信道解交織器508)。經(jīng)編碼的比特然后(串行地)從臨時(shí)存儲(chǔ)單元獲取并被解碼。對(duì)每個(gè)要解碼的比特,訪問APP存儲(chǔ)單元以獲得由先前的解碼(如果有的話)為該比特生成的APP數(shù)據(jù)(即APP碼元/外部信息)。對(duì)每個(gè)解碼比特生成的APP數(shù)據(jù)進(jìn)一步存儲(chǔ)回APP存儲(chǔ)單元以為下一解碼之用。隨著碼段內(nèi)的比特經(jīng)被碼APP存儲(chǔ)單元因此被連續(xù)訪問。有效的存儲(chǔ)管理對(duì)于有效的Turbo解碼是關(guān)鍵。
根據(jù)本發(fā)明的一方面,APP存儲(chǔ)單元520被分為并用多個(gè)存儲(chǔ)體實(shí)現(xiàn)。在實(shí)施例中,存儲(chǔ)體被分配并以一種避免對(duì)APP數(shù)據(jù)進(jìn)行雙緩沖的方式被操作。在一實(shí)施例中,每個(gè)存儲(chǔ)體可能與其它存儲(chǔ)體分開并被獨(dú)立訪問。這可以通過提供給每個(gè)存儲(chǔ)體它自己的地址和數(shù)據(jù)線集合而實(shí)現(xiàn)。
在特定實(shí)施例中,解碼器510設(shè)計(jì)成帶有每時(shí)鐘周期解一信息比特的能力。為避免在每個(gè)比特的解碼過程中等待對(duì)APP數(shù)據(jù)的存儲(chǔ)訪問(即讀和寫),APP存儲(chǔ)單元設(shè)計(jì)成一般有能力為當(dāng)前正在解碼的比特存儲(chǔ)APP數(shù)據(jù)并提供給將來要解碼的比特APP數(shù)據(jù)的能力。為避免訪問爭(zhēng)用,存儲(chǔ)單元經(jīng)劃分使得寫和讀操作不在同一訪問循環(huán)中的同一存儲(chǔ)體上同時(shí)實(shí)現(xiàn)(雖然若使用多端口存儲(chǔ)體這是可能的)。在一實(shí)施例中,為了方便存儲(chǔ)器分區(qū),存儲(chǔ)體還設(shè)計(jì)成使得多比特的APP數(shù)據(jù)可能在單個(gè)訪問循環(huán)內(nèi)寫入多個(gè)存儲(chǔ)體,且多比特的APP數(shù)據(jù)可能在另一(其它)訪問循環(huán)的多個(gè)存儲(chǔ)體中獲取。
在特定實(shí)施例中,特別是適用于W-CDMA情況下,存儲(chǔ)單元被分為六個(gè)存儲(chǔ)體,雖然可能使用不同數(shù)量的存儲(chǔ)體。存儲(chǔ)體被標(biāo)為Bank0a、Bank0b、Bank1a、Bank1b、Bank2a以及Bank2b。每個(gè)存儲(chǔ)體被分配以R·C數(shù)組的相應(yīng)的行組和列集以避免訪問爭(zhēng)用。每個(gè)存儲(chǔ)體用于存儲(chǔ)占用這些處于分配的行組和列集的交叉位置的比特的APP數(shù)據(jù)。如上所述,對(duì)第一組成解碼器,APP數(shù)據(jù)以經(jīng)交織順序?qū)懭氪鎯?chǔ)單元520并以經(jīng)交織順序(又稱為“經(jīng)交織”尋址模式)從存儲(chǔ)單元獲取。對(duì)第二組成解碼器APP數(shù)據(jù)以線性順序(還稱為“線性”尋址模式)寫入或從存儲(chǔ)單元獲取。為保證兩個(gè)不同的存儲(chǔ)體以線性尋址模式用兩個(gè)相鄰地址訪問,存儲(chǔ)體能經(jīng)安排及分配使得一存儲(chǔ)體集合被分配給偶數(shù)列(例如,它們是與最低有效比特(LSB)為零(“0”)相關(guān)),且另一存儲(chǔ)體集合被分配給奇數(shù)列(例如,它們是與最低有效比特(LSB)為零(“0”)相關(guān))。用這個(gè)奇/偶分配方案,相繼地址(LSBs為“0”與“1”)與兩個(gè)不同存儲(chǔ)體集合相關(guān)。
對(duì)交織尋址模式,實(shí)現(xiàn)另一存儲(chǔ)體分配方案。如上所述,由W-CDMA標(biāo)準(zhǔn)定義的碼交織要求從R·C數(shù)組中一列列讀出比特。這導(dǎo)致以經(jīng)交織尋址模式訪問相鄰地址時(shí)訪問數(shù)組的不同行。為保證能以經(jīng)交織尋址模式訪問兩個(gè)相鄰地址的兩個(gè)不同存儲(chǔ)體,行能被安排為三個(gè)或更多的組使得經(jīng)交織尋址模式的“相鄰”行被分配給不同組。相鄰行是當(dāng)以經(jīng)交織尋址模式時(shí)一列列寫/讀時(shí)能訪問的連續(xù)行。
該行分組可能通過首先確定R·C數(shù)組內(nèi)每行的相鄰行而實(shí)現(xiàn)。對(duì)用于上述的行間排列變換的PA,PB,PC序列,這三個(gè)序列內(nèi)的相鄰實(shí)體(對(duì)應(yīng)行數(shù))被分配給不同組,這是因?yàn)橄噜徯锌赡茉谝越?jīng)交織尋址模式按列寫/讀時(shí)被訪問。而且,由于K≤R·C,數(shù)組尾部的一些行可能為空,在該情況下,訪問該空行的下一行。對(duì)所有W-CDMA標(biāo)準(zhǔn)支持的可能的R、C和K組合,確定行17可能被部分跳過,當(dāng)使用序列PA時(shí),行18和19可能完全跳過。使用序列PB時(shí),行18和19可能完全跳過,使用序列PC時(shí),行9可能完全跳過。
表2列出在對(duì)行分組時(shí)要遵守的“排除”規(guī)則使得在經(jīng)交織尋址模式能避免訪問爭(zhēng)用。第一和第三列列出行號(hào)(在表2內(nèi)按順序)。對(duì)在第一和第三列中標(biāo)識(shí)的每行,應(yīng)從包括該行的組中排除的行分別在第二和第四列列出。例如,在包括0行的組中應(yīng)排除行1、2、4、8和9,包括行1的組應(yīng)排除行0、2、3、6和16。
表2
表3列出了遵守表2列出的排除規(guī)則的行的可能分組。還有其它分組的可能且在本發(fā)明的范圍內(nèi)。
表3
圖6是根據(jù)表3示出的行分組的R·C數(shù)組內(nèi)行和列分配到六個(gè)存儲(chǔ)體的圖表。在該特定分配方案,表3的組0、1和2內(nèi)的行分別被分配到Bank0v,Bank1v以及Bank2v,其中v為a或b。如上所述,Bankua以及Bankub分別被分配到偶數(shù)和奇數(shù)列,其中u是0、1或2。對(duì)每個(gè)存儲(chǔ)體而言,每個(gè)分配的行因此包括C/2元素。
在線性尋址模式,可能同時(shí)訪問來自同一或不同的組的兩個(gè)存儲(chǔ)體(即可能訪問Banku1a以及Banku1b,或Banku1a以及Banku2b,其中u1和u2每個(gè)可能來自任何組)。且以經(jīng)交織尋址模式,從不同組來的兩個(gè)存儲(chǔ)體同時(shí)被訪問(即能訪問Banku1a以及Banku1b,或Banku1a以及Banku2b)。
在一實(shí)施例中,Bank0a,Bank1a以及Bank2a用于偶數(shù)行的偶數(shù)列以及奇數(shù)行的奇數(shù)列,以及Bank0b,Bank1b以及Bank2b用于偶數(shù)行的奇數(shù)列和奇數(shù)列的偶數(shù)列。當(dāng)列數(shù)為奇數(shù),該分配方案可能用于避免以線性尋址模式訪問同一存儲(chǔ)體。例如,如果有五列,可能期望同時(shí)為列4的行1和列0的行2獲取數(shù)據(jù)。兩個(gè)都位于Bankua內(nèi),提供的行1和行2被組在一起。以上的分配方案避免訪問爭(zhēng)用。
當(dāng)PA,PB或PC序列用于行間排列時(shí),表3列出的行分組避免了經(jīng)交織尋址模式的訪問爭(zhēng)用。對(duì)PD序列,表4列出在序列內(nèi)的五行的排除,表5列出對(duì)PD的行的可能分組。
表4
表5
值得注意的是表3示出的分組違反了圖4示出的PD序列的行0和行3的排除規(guī)則。因此,可能生成不同于表3的行分組以避免以經(jīng)交織尋址模式對(duì)所有四個(gè)序列PA,PB,PC以及PD序列的訪問爭(zhēng)用。或者,當(dāng)選擇PA,PB或PC時(shí)使用表3示出的行分組,當(dāng)選擇PD時(shí)使用表5示出的行分組。
圖7是定義存儲(chǔ)Turbo解碼器的中間結(jié)果(例如APP數(shù)據(jù))的緩沖器結(jié)構(gòu)(例如APP存儲(chǔ)單元520)的處理700的實(shí)施例流程圖。開始,在步驟712標(biāo)識(shí)緩沖器支持的尋址模式。對(duì)Turbo解碼,APP數(shù)據(jù)可能通過以經(jīng)交織尋址模式和線性尋址模式訪問。每個(gè)組成解碼提供對(duì)應(yīng)數(shù)據(jù)分組內(nèi)的信息比特的APP碼元。在經(jīng)交織尋址模式內(nèi),APP碼元在分組內(nèi)的經(jīng)交織位置處被訪(即寫入或從中獲取)。在線性尋址模式,APP碼元在分組的線性位置處被訪問。
在步驟714,定義行的NR個(gè)組,其中NR≥2。每個(gè)組包括用于對(duì)Turbo編碼的數(shù)據(jù)分組內(nèi)的信息比特交織的R·C數(shù)組的一行或多行。行被選擇以包括在每組內(nèi)使得在經(jīng)交織尋址模式期間要訪問的兩個(gè)相繼地址來自兩個(gè)組。對(duì)上述的例子,定義三個(gè)組,每個(gè)組包括數(shù)組內(nèi)的相應(yīng)的行集合。組的定義是根據(jù)由與Turbo編碼相關(guān)的碼交織方案定義的可能的行間排列序列。
在步驟716,定義列的NC個(gè)集,其中NC≥2。每個(gè)集包括R·C數(shù)組的一列或多列。列被選擇以包括在每個(gè)集內(nèi)使得在經(jīng)交織尋址模式期間訪問的兩個(gè)相繼地址來自兩個(gè)集。對(duì)上述例子,定義了兩個(gè)集,第一個(gè)集包括偶數(shù)列,第二個(gè)集包括奇數(shù)列。
在步驟718,緩沖器然后被分為NR·NC個(gè)存儲(chǔ)體。在步驟720,每個(gè)存儲(chǔ)體然后被分配給NR·NC個(gè)行組和列集的聯(lián)合組合的相應(yīng)的一個(gè)。對(duì)上述例子,定義六個(gè)存儲(chǔ)體并如上所述分配給三個(gè)行組和兩個(gè)列集的六個(gè)聯(lián)合組合。
圖8是可能用于實(shí)現(xiàn)APP存儲(chǔ)單元的緩沖器結(jié)構(gòu)800的實(shí)施例模塊圖。緩沖器結(jié)構(gòu)800包括實(shí)現(xiàn)APP存儲(chǔ)單元的存儲(chǔ)單元820、每個(gè)訪問循環(huán)生成必須的地址的地址發(fā)生器822以及從存儲(chǔ)體選擇輸出數(shù)據(jù)的多路復(fù)用器824。
在圖8示出的實(shí)施例中,存儲(chǔ)單元820被分為六個(gè)存儲(chǔ)體,每個(gè)存儲(chǔ)體被分配給存儲(chǔ)單元的相應(yīng)部分。在實(shí)施例中,每個(gè)存儲(chǔ)體接收地址線集合,它使得存儲(chǔ)體能單個(gè)且獨(dú)立地被訪問。雖然由于簡(jiǎn)潔之故未在圖8中示出,每個(gè)存儲(chǔ)體一般有相應(yīng)的“碼片選擇”線,使得存儲(chǔ)體能被單個(gè)選擇。
為在每個(gè)寫循環(huán)中將兩個(gè)碼元寫入兩個(gè)存儲(chǔ)體,每個(gè)存儲(chǔ)體用于在兩個(gè)數(shù)據(jù)線集合上接收兩個(gè)碼元,選擇碼元的一個(gè)(例如通過圖8未示出的多路復(fù)用器)而且如果由地址發(fā)生器822引導(dǎo),則將選擇的碼元存儲(chǔ)到由存儲(chǔ)體地址線指明的位置。地址發(fā)生器822提供要存儲(chǔ)的兩個(gè)碼元的兩個(gè)地址,這些地址通過它們的地址線提供給兩個(gè)存儲(chǔ)體。
為在每個(gè)讀循環(huán)中從存儲(chǔ)體獲取兩個(gè)碼元,多路復(fù)用器824從六個(gè)存儲(chǔ)體接收輸出碼元,在從地址發(fā)生器822來的控制信號(hào)引導(dǎo)下選擇接收到的碼元中的兩個(gè),并提供選擇的碼元,雖然未在圖8中示出,多路復(fù)用器824可能用兩個(gè)6×1多路復(fù)用器實(shí)現(xiàn),每個(gè)6×1的多路復(fù)用器可能用于提供輸出碼元的一個(gè)。同樣,地址發(fā)生器822提供要獲取的兩個(gè)碼元的兩個(gè)地址,并通過它們的地址線提供給兩個(gè)存儲(chǔ)體。
為清楚之故,使用多個(gè)存儲(chǔ)體的APP存儲(chǔ)單元的實(shí)現(xiàn)已由W-CDMA標(biāo)準(zhǔn)定義的特定碼交織方案而經(jīng)描述。每個(gè)CDMA標(biāo)準(zhǔn)可能定義不同于其它CDMA標(biāo)準(zhǔn)的碼交織方案,包括W-CDMA標(biāo)準(zhǔn)。例如,cdma2000標(biāo)準(zhǔn)定義的交織方案,其中行根據(jù)比特反轉(zhuǎn)規(guī)則被排列,例如行1(“00001”)與行16(“10000”)交換,行3(“00011”)與行24(“11000”)交換等。對(duì)這些不同的碼交織方案,與存儲(chǔ)體相關(guān)的行組可能不同于以上為W-CDMA標(biāo)準(zhǔn)定義的交織方案。
為清楚之故,本發(fā)明的各個(gè)方面已為W-CDMA系統(tǒng)內(nèi)的下行鏈路Turbo碼而特定描述。這些技術(shù)也可能用于W-CDMA系統(tǒng)內(nèi)的上行鏈路Turbo碼(特別是由于W-CDMA標(biāo)準(zhǔn)規(guī)定它們是一樣的)。
取決于Turbo交織器,APP存儲(chǔ)單元可能用少于六個(gè)存儲(chǔ)體實(shí)現(xiàn)。如上所述,某些行不能在同一組內(nèi)的限制導(dǎo)致了使用六個(gè)存儲(chǔ)體。限制來自“分組”交織器結(jié)構(gòu)以及R·C數(shù)組的最下面三行可能部分未填滿。如果能選擇R使得只有最后一行是部分未填滿的,則會(huì)去掉一些排除限制且APP存儲(chǔ)可能只用四個(gè)存儲(chǔ)體實(shí)現(xiàn)。APP存儲(chǔ)單元還可能用多于六個(gè)存儲(chǔ)體實(shí)現(xiàn)。例如,存儲(chǔ)單元可能對(duì)數(shù)組的每行用一個(gè)存儲(chǔ)體實(shí)現(xiàn),或?qū)σ恍谢蚨嘈械拿總€(gè)組用一個(gè)存儲(chǔ)體實(shí)現(xiàn)。一般,更多的存儲(chǔ)體使得能同時(shí)訪問(即寫和/或讀)更多的碼元。然而,硬件復(fù)雜度一般隨著存儲(chǔ)體數(shù)目增加而增加??赡苄枰嗟臄?shù)據(jù)和地址線以及多路復(fù)用器以支持對(duì)更多的存儲(chǔ)體的訪問。
使用多個(gè)存儲(chǔ)體實(shí)現(xiàn)APP存儲(chǔ)單元提供多種好處。第一,由于多個(gè)比特的APP數(shù)據(jù)可能在每個(gè)時(shí)鐘循環(huán)上存儲(chǔ)/獲取,所以可以獲得更快的解碼時(shí)間。因此APP存儲(chǔ)可能不是Turbo解碼的瓶頸。第二,可能使用較慢的存儲(chǔ)器設(shè)計(jì)和/處理以用于實(shí)現(xiàn)APP存儲(chǔ)單元。多存儲(chǔ)體設(shè)計(jì)連同并行訪問能力可能使得較慢的存儲(chǔ)器能提供與較快存儲(chǔ)設(shè)但帶有較弱并行能力的設(shè)計(jì)相同的吞吐量。
APP存儲(chǔ)單元可能用多個(gè)存儲(chǔ)器結(jié)構(gòu)實(shí)現(xiàn)。例如,存儲(chǔ)單元的每個(gè)存儲(chǔ)體可能使用一個(gè)或多個(gè)存儲(chǔ)單元實(shí)現(xiàn),還帶有多端口存儲(chǔ)單元,帶有包括或被分為多個(gè)存儲(chǔ)體或其它結(jié)構(gòu)的存儲(chǔ)單元。存儲(chǔ)單元還可能用不同的存儲(chǔ)技術(shù)實(shí)現(xiàn),諸如例如隨機(jī)訪問存儲(chǔ)(RAM)、動(dòng)態(tài)RAM(DRAM)、閃存以及其它。多種存儲(chǔ)單元的結(jié)構(gòu)和實(shí)現(xiàn)都是可能的且在本發(fā)明的范圍內(nèi)。
地址的產(chǎn)生可能用軟件、硬件或兩者的組合實(shí)現(xiàn)。對(duì)硬件實(shí)現(xiàn),地址發(fā)生器可能(1)實(shí)現(xiàn)為一個(gè)分開的單元,(2)整合在控制器或存儲(chǔ)單元內(nèi),(3)實(shí)現(xiàn)在還包括其它處理元件的ASIC內(nèi),或通過一些其它的設(shè)計(jì)。地址發(fā)生器可能包括用于存儲(chǔ)描述存儲(chǔ)體的信息的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)可能還包括用于管理存儲(chǔ)體操作的信息。
上述優(yōu)選實(shí)施例的描述使本領(lǐng)域的技術(shù)人員能制造或使用本發(fā)明。這些實(shí)施例的各種修改對(duì)于本領(lǐng)域的技術(shù)人員來說是顯而易見的,這里定義的一般原理可以被應(yīng)用于其它實(shí)施例中而不使用創(chuàng)造能力。因此,本發(fā)明并不限于這里示出的實(shí)施例,而要符合與這里揭示的原理和新穎特征一致的最寬泛的范圍。
權(quán)利要求
1.一種用于存儲(chǔ)Turbo解碼器的中間結(jié)果的緩沖器結(jié)構(gòu),其特征在于包括多個(gè)存儲(chǔ)體,用于存儲(chǔ)代表中間結(jié)果的碼元,其中每個(gè)存儲(chǔ)體與二維數(shù)組的一行或多行的多個(gè)組的一個(gè)相關(guān),該二維數(shù)組用于交織相應(yīng)Turbo編碼器的分組內(nèi)的信息比特,且其中行被選擇包括在每個(gè)組內(nèi),使得緩沖器結(jié)構(gòu)的每個(gè)訪問循環(huán)都能從兩個(gè)或多個(gè)存儲(chǔ)體同時(shí)訪問兩個(gè)或多個(gè)碼元。
2.如權(quán)利要求1所述的緩沖器結(jié)構(gòu),其特征在于多個(gè)存儲(chǔ)體被分為第一和第二集合,且其中第一存儲(chǔ)體集合與二維數(shù)組的偶數(shù)列相關(guān),且其中第二存儲(chǔ)體組與二維數(shù)組的奇數(shù)列相關(guān)。
3.如權(quán)利要求1所述的緩沖器結(jié)構(gòu),其特征在于多個(gè)存儲(chǔ)體被配置為以經(jīng)交織的順序存儲(chǔ)碼元。
4.如權(quán)利要求1所述的緩沖器結(jié)構(gòu),其特征在于對(duì)于一特定的訪問周期多個(gè)存儲(chǔ)體可通過經(jīng)交織尋址模式或線性尋址模式而被訪。
5.如權(quán)利要求4所述的緩沖器結(jié)構(gòu),其特征在于經(jīng)交織的尋址模式對(duì)應(yīng)于對(duì)分組內(nèi)經(jīng)交織的位置處的碼元訪問,且其中線性尋址模式對(duì)應(yīng)于在分組內(nèi)對(duì)線性位置處的碼元訪問。
6.如權(quán)利要求4所述的緩沖器結(jié)構(gòu),其特征在于行被選擇包括在每個(gè)組內(nèi)使得在經(jīng)交織尋址模式時(shí)訪問的兩個(gè)或多個(gè)相繼地址是來自兩個(gè)或多個(gè)組的。
7.如權(quán)利要求1所述的緩沖器結(jié)構(gòu),其特征在于在Turbo編碼器的第一組成碼的解碼期間把碼元提供給并以經(jīng)交織順序從多個(gè)存儲(chǔ)體獲取。
8.如權(quán)利要求1所述的緩沖器結(jié)構(gòu),其特征在于在Turbo編碼器的第二組成碼的解碼期間把碼元提供給并以經(jīng)交織順序從多個(gè)存儲(chǔ)體獲取。
9.如權(quán)利要求1所述的緩沖器結(jié)構(gòu),其特征在于在Turbo編碼器的第一組成碼的解碼期間把碼元提供給并以經(jīng)交織順序從多個(gè)存儲(chǔ)體獲取,且其中在Turbo編碼器的第二組成碼的解碼期間把碼元提供給并以經(jīng)交織順序從多個(gè)存儲(chǔ)體獲取。
10.如權(quán)利要求1所述的緩沖器結(jié)構(gòu),其特征在于多個(gè)存儲(chǔ)體被配置為對(duì)每個(gè)訪問周期存儲(chǔ)或提供兩個(gè)或多個(gè)碼元。
11.如權(quán)利要求1所述的緩沖器結(jié)構(gòu),其特征在于操作多個(gè)存儲(chǔ)體使得只有一種類型的訪問操作寫或讀在任何特定訪問周期上實(shí)現(xiàn)。
12.如權(quán)利要求1所述的緩沖器結(jié)構(gòu),其特征在于將各行至少部分根據(jù)用于與Turbo編碼器相關(guān)的碼交織方案的一個(gè)或多個(gè)可能的行內(nèi)排列序列被分組。
13.如權(quán)利要求1所述的緩沖器結(jié)構(gòu),其特征在于包括至少四個(gè)存儲(chǔ)體。
14.如權(quán)利要求1所述的緩沖器結(jié)構(gòu),其特征在于包括六個(gè)存儲(chǔ)體。
15.如權(quán)利要求1所述的緩沖器結(jié)構(gòu),其特征在于還包括操作上耦合到多個(gè)存儲(chǔ)體的本地存儲(chǔ)器并被配置為存儲(chǔ)要被Turbo解碼器解碼的多個(gè)信息比特的先驗(yàn)概率(APP)數(shù)據(jù)。
16.如權(quán)利要求15所述的緩沖器結(jié)構(gòu),其特征在于APP數(shù)據(jù)是由要解碼的信息比特和該信息比特的對(duì)應(yīng)的外部信息的對(duì)數(shù)似然比(LLRs)形成的。
17.如權(quán)利要求1所述的緩沖器結(jié)構(gòu),其特征在于還包括地址發(fā)生器,耦合到多個(gè)存儲(chǔ)體并用于提供訪問多個(gè)存儲(chǔ)體的地址。
18.如權(quán)利要求1所述的緩沖器結(jié)構(gòu),其特征在于是配置為根據(jù)W-CDMA標(biāo)準(zhǔn)定義的Turbo編碼器的碼交織方案而存儲(chǔ)碼元。
19.一種Turbo解碼器,其特征在于包括組成解碼器,用于根據(jù)特定的組成碼接收經(jīng)編碼的比特并對(duì)其進(jìn)行解碼;以及緩沖器,耦合到組成解碼器,并用于存儲(chǔ)代表Turbo解碼器中間結(jié)果的碼元,其中緩沖器包括多個(gè)存儲(chǔ)體,每個(gè)存儲(chǔ)體與二維數(shù)組的一行或多行的多個(gè)組的一個(gè)相關(guān),該二維數(shù)組用于交織相應(yīng)Turbo編碼器的分組內(nèi)的信息比特,且其中行被選擇包括在每個(gè)組內(nèi),使得緩沖器結(jié)構(gòu)的每個(gè)訪問循環(huán)都能從兩個(gè)或多個(gè)存儲(chǔ)體同時(shí)訪問兩個(gè)或多個(gè)碼元。
20.如權(quán)利要求19所述的Turbo解碼器,其特征在于多個(gè)存儲(chǔ)體被按排成第一和第二集合,且其中第一集合的存儲(chǔ)體與二維數(shù)組內(nèi)的偶數(shù)列相關(guān),且其中第二集合存儲(chǔ)器與二維數(shù)組內(nèi)的奇數(shù)列相關(guān)。
21.如權(quán)利要求19所述的Turbo解碼器,其特征在于還包括本地存儲(chǔ)單元,操作上耦合到緩沖器和組成解碼器并用于存儲(chǔ)由組成解碼器解碼的多個(gè)信息比特的先驗(yàn)概率(APP)數(shù)據(jù)。
22.一種定義用于存儲(chǔ)Turbo解碼器中間結(jié)果的緩沖器結(jié)構(gòu)的方法,其特征在于包括標(biāo)識(shí)緩沖器結(jié)構(gòu)支持的多個(gè)尋址模式,其中多個(gè)所支持的尋址模式包括經(jīng)交織的尋址模式和線性尋址模式,其中經(jīng)交織的尋址模式對(duì)應(yīng)于對(duì)要被解碼的分組內(nèi)經(jīng)交織位置處的碼元的訪問,線性尋址模式對(duì)應(yīng)于對(duì)分組內(nèi)線性位置處的碼元的訪問;定義行的兩個(gè)或多個(gè)(NR)組,其中每個(gè)組包括二維數(shù)組的一行或多行,該二維數(shù)組用于交織相應(yīng)Turbo編碼器的分組內(nèi)的信息比特,且其中行被選擇以包括在每個(gè)組內(nèi),使得經(jīng)交織的尋址模式期間要訪問的兩個(gè)或多個(gè)相繼地址來自兩個(gè)或更多組;定義列的兩個(gè)或多個(gè)(NC)集,其中每個(gè)集包括二維數(shù)組的一列或多列,且其中列被選擇以包括在每個(gè)集內(nèi),使得線性尋址模式期間要訪問的兩個(gè)或多個(gè)相繼地址來自兩個(gè)或更多個(gè)集;將緩沖器結(jié)構(gòu)分成多個(gè)(NR·NC)存儲(chǔ)體;以及將行組和列集的(NR·NC)個(gè)聯(lián)合組合分配給相應(yīng)的多個(gè)存儲(chǔ)體之一。
23.如權(quán)利要求22所述的方法,其特征在于行至少根據(jù)用于與Turbo編碼器相關(guān)的碼交織方案的一個(gè)或多個(gè)可能的行內(nèi)排列序列而被分組。
全文摘要
存儲(chǔ)Turbo解碼器的中間結(jié)果的緩沖器結(jié)構(gòu)。為增加訪問吞吐量,緩沖器結(jié)構(gòu)設(shè)計(jì)成支持對(duì)每個(gè)訪問周期對(duì)兩個(gè)或多個(gè)比特的APP數(shù)據(jù)的同時(shí)訪問。為避免訪問爭(zhēng)用,存儲(chǔ)體被分配到用于碼交織的二維數(shù)組的行和列使得相繼比特的APP數(shù)據(jù)從不同存儲(chǔ)體被訪問。為支持“線性”尋址,存儲(chǔ)體能被按排為兩個(gè)集合,它們被分配給數(shù)組的偶數(shù)和奇數(shù)列。為支持“經(jīng)交織”尋址,存儲(chǔ)體可能被分配到數(shù)組的行組使得在經(jīng)交織的數(shù)組內(nèi)的相鄰行被分配到不同的組。
文檔編號(hào)H04L1/00GK1529943SQ02812844
公開日2004年9月15日 申請(qǐng)日期2002年5月9日 優(yōu)先權(quán)日2001年5月11日
發(fā)明者許大山, I·姚 申請(qǐng)人:高通股份有限公司