專利名稱:高數(shù)據(jù)速率的turbo交織器的制作方法
技術(shù)領(lǐng)域:
本公開一般涉及通信,具體地說(shuō),涉及編碼和解碼技術(shù)。
背景技術(shù):
無(wú)線通信系統(tǒng)被廣泛地部署來(lái)提供各種通信內(nèi)容,比如語(yǔ)音、視頻、分組數(shù)據(jù)、消息、廣播等等。這些無(wú)線系統(tǒng)可以是能夠通過(guò)共享可用系統(tǒng)資源支持多個(gè)用戶的多址系統(tǒng)。這種多址系統(tǒng)的實(shí)例包括碼分多址(CDMA)系統(tǒng)、時(shí)分多址(TDMA)系統(tǒng)、頻分多址(FDMA)系統(tǒng)、正交FDMA(OFDMA)系統(tǒng)以及單載波FDMA(SC-FDMA)系統(tǒng)。
較新的無(wú)線通信系統(tǒng)可以支持寬帶和/或多輸入多輸出(MIMO)操作,以便實(shí)現(xiàn)高數(shù)據(jù)吞吐量。具有寬帶和/或MIMO能力的用戶裝置(UE)可能需要支持非常高的峰值數(shù)據(jù)速率。例如,具有4×4MIMO結(jié)構(gòu)的20MHz系統(tǒng)中的UE的峰值數(shù)據(jù)速率可以高達(dá)200+兆/秒(Mbps)。通常是UE處的接收機(jī)處理的瓶頸的UE的解碼容量應(yīng)當(dāng)進(jìn)行相應(yīng)地設(shè)計(jì),以支持這樣的高峰值數(shù)據(jù)速率。
發(fā)明內(nèi)容
本文描述了用于有效地支持高解碼吞吐量的技術(shù)。發(fā)射機(jī)(例如,基站)可采用Turbo編碼器對(duì)數(shù)據(jù)比特的碼塊進(jìn)行編碼,所述Turbo編碼器包括多個(gè)組成編碼器和碼交織器。接收機(jī)(例如,UE)可以采用Trubo解碼器對(duì)所述碼塊進(jìn)行解碼,所述Turbo解碼器具有至少一個(gè)軟輸入軟輸出(SISO)解碼器、至少一個(gè)碼交織器以及至少一個(gè)碼解交織器。接收機(jī)可以使用多個(gè)SISO解碼器以實(shí)現(xiàn)高解碼吞吐量,其中所述多個(gè)SISO解碼器并行地對(duì)所述碼塊的不同段執(zhí)行操作。所述多個(gè)SISO解碼器可結(jié)合多個(gè)碼交織器、多個(gè)碼解交織器和多個(gè)存儲(chǔ)單元進(jìn)行操作。
可以基于Turbo交織器對(duì)所述碼塊中的數(shù)據(jù)比特進(jìn)行交織(即,重新排序或混洗(shuffle))。Turbo交織器是用于指定應(yīng)該如何對(duì)所述碼塊中的數(shù)據(jù)比特進(jìn)行重新排序的映射或函數(shù)。Turbo編碼器中的碼交織器基于Turbo交織器進(jìn)行操作。類似地,Turbo解碼器中的單個(gè)或多個(gè)碼交織器基于Turbo交織器進(jìn)行操作,以及Turbo解碼器中的單個(gè)或多個(gè)碼解交織器基于Turbo交織器的逆來(lái)進(jìn)行操作。
根據(jù)一個(gè)方面,如果碼塊大小大于閾值大小,則可以使用“無(wú)競(jìng)爭(zhēng)”Turbo交織器,以及如果碼塊大小小于或等于閾值大小,則可以使用“常規(guī)”Turbo交織器。無(wú)競(jìng)爭(zhēng)Turbo交織器是這樣的映射或函數(shù),其對(duì)碼塊中的數(shù)據(jù)比特進(jìn)行重新排序,使得來(lái)自多個(gè)SISO解碼器的信息在進(jìn)行交織或解交織后,可以在每個(gè)寫周期內(nèi)并行地寫入多個(gè)存儲(chǔ)單元,而不會(huì)遇到這些存儲(chǔ)單元的存儲(chǔ)器存取競(jìng)爭(zhēng)。常規(guī)Turbo交織器是這樣的映射或函數(shù),其可以以任何方式對(duì)碼塊中的數(shù)據(jù)比特進(jìn)行重新排序,而不考慮Turbo解碼器處的無(wú)競(jìng)爭(zhēng)存儲(chǔ)器存取。對(duì)于要求高解碼吞吐量的大的數(shù)據(jù)有效載荷,可以使用大的碼塊大小,而對(duì)于小的數(shù)據(jù)有效載荷,可以使用小的碼塊大小。多個(gè)SISO解碼器可以用于大的碼塊大小(例如,比閾值大小要大的那些碼塊),并可以從使用無(wú)競(jìng)爭(zhēng)Turbo交織器中獲益。
如果碼塊大小大于閾值大小,則發(fā)射機(jī)可以基于多個(gè)組成編碼器和無(wú)競(jìng)爭(zhēng)Turbo交織器對(duì)碼塊進(jìn)行Turbo編碼。如果碼塊大小小于或等于閾值大小,則發(fā)射機(jī)可以基于多個(gè)組成編碼器和常規(guī)Turbo交織器對(duì)碼塊進(jìn)行Turbo編碼。
如果碼塊大小大于閾值大小,則接收機(jī)可以基于多個(gè)SISO解碼器和無(wú)競(jìng)爭(zhēng)Turbo交織器對(duì)碼塊進(jìn)行Turbo解碼。如果碼塊大小小于或等于閾值大小,則接收機(jī)可以基于至少一個(gè)SISO解碼器和常規(guī)Turbo交織器對(duì)所述碼塊進(jìn)行Turbo解碼。
在下面更為詳細(xì)地描述本公開的各個(gè)方面和特征。
圖1示出了基站和UE的方框圖; 圖2示出了發(fā)射(TX)數(shù)據(jù)處理器的方框圖; 圖3示出了Turbo編碼器的方框圖; 圖4示出了接收(RX)數(shù)據(jù)處理器的方框圖; 圖5示出了Turbo解碼器的方框圖; 圖6示出了具有一個(gè)SISO解碼器的Turbo解碼器的方框圖; 圖7示出了具有多個(gè)SISO解碼器的Turbo解碼器的方框圖; 圖8示出了碼塊大小與數(shù)據(jù)有效載荷之間的關(guān)系圖; 圖9示出了抖動(dòng)互素(DRP)交織器的操作; 圖10示出了可配置Turbo解碼器的方框圖; 圖11示出了用于處理數(shù)據(jù)的過(guò)程的一個(gè)設(shè)計(jì); 圖12示出了用于處理數(shù)據(jù)的裝置的一個(gè)設(shè)計(jì)。
具體實(shí)施例方式 本文所述的技術(shù)可以用于各種無(wú)線通信系統(tǒng),比如CDMA、TDMA、FDMA、OFDMA、SC-FDMA以及其它系統(tǒng)。術(shù)語(yǔ)“系統(tǒng)”和“網(wǎng)絡(luò)”通??苫Q地使用。CDMA系統(tǒng)可以實(shí)現(xiàn)比如通用陸地?zé)o線接入(UTRA)、cdma2000等的無(wú)線技術(shù)。UTRA包括寬帶CDMA(W-CDMA)和低碼片速率(LCR)。cdma2000涵蓋IS-2000、IS-95和IS-856標(biāo)準(zhǔn)。TDMA系統(tǒng)可以實(shí)現(xiàn)比如全球移動(dòng)通信系統(tǒng)(GSM)的無(wú)線技術(shù)。OFDMA系統(tǒng)可以實(shí)現(xiàn)比如演進(jìn)UTRA(E-UTRA)、超移動(dòng)寬帶(UMB)、IEEE 802.11(Wi-Fi)、IEEE 802.16(WiMAX)、IEEE 802.20、Flash-
等的無(wú)線技術(shù)。UTRA、E-UTRA和GSM是通用移動(dòng)通信網(wǎng)絡(luò)(UMTS)的一部分。3GPP長(zhǎng)期演進(jìn)(LTE)是將要發(fā)布的使用E-UTRAN的UMTS版本,其在下行鏈路上使用OFDMA以及在上行鏈路上使用SC-FDMA。在名為“第三代合作伙伴項(xiàng)目”(3GPP)的組織的文檔中描述了UTRA、E-UTRA、GSM、UMTS和LTE。在名為“第三代合作伙伴項(xiàng)目2”(3GPP2)的組織的文檔中描述了cdma2000和UMB。這些技術(shù)還可用于無(wú)線局域網(wǎng)(WLAN),其可以實(shí)現(xiàn)IEEE 802.11標(biāo)準(zhǔn)家族中的任何無(wú)線技術(shù)、Hiperlan等。這些各種無(wú)線技術(shù)和標(biāo)準(zhǔn)在本領(lǐng)域是公知的。為清楚起見,下面將針對(duì)LTE來(lái)描述這些技術(shù)的一些方面,并且在下面的部分描述中使用LTE術(shù)語(yǔ)。
這些技術(shù)可用于UE以及基站。UE還可稱為移動(dòng)站、終端、接入終端、用戶單元、站等。UE可以是蜂窩電話、個(gè)人數(shù)字助理(PDA)、無(wú)線通信設(shè)備、無(wú)線調(diào)制解調(diào)器、手持設(shè)備、膝上型計(jì)算機(jī)、無(wú)繩電話等。UE可以經(jīng)由下行鏈路和上行鏈路上的傳輸與一個(gè)或多個(gè)基站進(jìn)行通信?;具€可稱為節(jié)點(diǎn)B、演進(jìn)節(jié)點(diǎn)B(eNB)、接入點(diǎn)等。
這些技術(shù)還可用于單輸入單輸出、單輸入多輸出、多輸入單輸出和/或多輸入多輸出(MIMO)傳輸。單輸入指的是一個(gè)發(fā)射天線用于數(shù)據(jù)發(fā)送,多輸入指的是多個(gè)發(fā)射天線用于數(shù)據(jù)發(fā)送。單輸出指的是一個(gè)接收天線用于數(shù)據(jù)接收,多輸出指的是多個(gè)接收天線用于數(shù)據(jù)接收。
圖1示出了無(wú)線通信系統(tǒng)100中的基站110和UE 150的一個(gè)設(shè)計(jì)的方框圖?;?10配備有多個(gè)(T個(gè))天線134a-134t,所述多個(gè)天線134a-134t可用于數(shù)據(jù)發(fā)送和接收。UE 150具有多個(gè)(R個(gè))天線152a-152r,所述多個(gè)天線152a-152r可用于數(shù)據(jù)發(fā)送和接收。每個(gè)天線可以是物理天線或天線陣列。
在基站110,發(fā)射(TX)數(shù)據(jù)處理器120可以從數(shù)據(jù)源112接收業(yè)務(wù)數(shù)據(jù),基于傳輸格式對(duì)該業(yè)務(wù)數(shù)據(jù)進(jìn)行處理(例如,格式化、編碼、交織以及符號(hào)映射),并提供數(shù)據(jù)符號(hào)。如本文所使用,數(shù)據(jù)符號(hào)是與數(shù)據(jù)對(duì)應(yīng)的符號(hào),導(dǎo)頻符號(hào)是與導(dǎo)頻對(duì)應(yīng)的符號(hào),并且符號(hào)通常為復(fù)數(shù)值。數(shù)據(jù)符號(hào)和導(dǎo)頻符號(hào)可以是根據(jù)比如PSK或QAM的調(diào)制方案進(jìn)行調(diào)制的調(diào)制符號(hào)。導(dǎo)頻是發(fā)射機(jī)和接收機(jī)二者均事先已知的數(shù)據(jù)。傳輸格式可以指示碼塊大小、調(diào)制和編碼方案等。傳輸格式還可稱為速率、分組格式等。
TX MIMO處理器130可將數(shù)據(jù)符號(hào)與導(dǎo)頻符號(hào)復(fù)用,并可以執(zhí)行直接MIMO映射、預(yù)編碼/波束成形等。符號(hào)可以從用于直接MIMO映射的一個(gè)天線發(fā)送,或從用于預(yù)編碼/波束成形的多個(gè)天線發(fā)送。處理器130可以向T個(gè)發(fā)射機(jī)(TMTR)132a-132t提供T個(gè)輸出符號(hào)流。每個(gè)發(fā)射機(jī)132可處理其輸出符號(hào)流(例如,針對(duì)OFDM、SC-FDM、CDMA等),以獲得輸出碼片流。每個(gè)發(fā)射機(jī)132還可以對(duì)其輸出碼片流進(jìn)行調(diào)節(jié)(例如,模擬變換、濾波、放大和上變頻),并生成下行鏈路信號(hào)。來(lái)自發(fā)射機(jī)132a-132t的T個(gè)下行鏈路信號(hào)可以分別從T個(gè)天線134a-134t發(fā)送。
在UE 150,R個(gè)天線152a-152r可接收下行鏈路信號(hào),并且每個(gè)天線152可將所接收到的信號(hào)提供給相應(yīng)的接收機(jī)(RCVR)154。每個(gè)接收機(jī)154可以處理(例如,濾波、放大、下變頻和數(shù)字化)其所接收到的信號(hào),以提供采樣,并可以進(jìn)一步處理采樣(例如,針對(duì)OFDM、SC-FDM、CDMA等),以獲得已接收符號(hào)。接收機(jī)154a-154r可將所接收到的數(shù)據(jù)符號(hào)提供給MIMO檢測(cè)器160,并將所接收到的導(dǎo)頻符號(hào)提供給信道處理器194。信道處理器194可以基于所接收到的導(dǎo)頻符號(hào)估計(jì)下行鏈路信道響應(yīng),并將信道估計(jì)提供給MIMO檢測(cè)器160。MIMO檢測(cè)器160可以采用信道估計(jì)對(duì)所接收到的數(shù)據(jù)符號(hào)執(zhí)行MIMO檢測(cè),并提供數(shù)據(jù)符號(hào)估計(jì)。接收(RX)數(shù)據(jù)處理器170可以進(jìn)一步處理(例如,符號(hào)解映射、解交織以及解碼)該數(shù)據(jù)符號(hào)估計(jì),并將已解碼數(shù)據(jù)提供給數(shù)據(jù)接收器172。通常,MIMO檢測(cè)器160和RX數(shù)據(jù)處理器170所執(zhí)行的處理與基站110處的TX MIMO處理器130和TX數(shù)據(jù)處理器120所執(zhí)行的處理是互補(bǔ)的。
UE 150可以評(píng)估信道條件,并將反饋信息發(fā)送給基站110。反饋信息可以包括MIMO秩、信道質(zhì)量指示符(CQI)和/或其它信息,所述MIMO秩用于指示待并行發(fā)送的數(shù)據(jù)流或?qū)拥臄?shù)量。來(lái)自數(shù)據(jù)源180的反饋信息和業(yè)務(wù)數(shù)據(jù)可由TX數(shù)據(jù)處理器182進(jìn)行處理,與導(dǎo)頻符號(hào)復(fù)用并由TXMIMO處理器184進(jìn)行處理,并由發(fā)射機(jī)154a-154r進(jìn)一步處理以生成R個(gè)上行鏈路信號(hào),所述R個(gè)上行鏈路信號(hào)可以經(jīng)由天線152a-152r發(fā)送。
在基站110,上行鏈路信號(hào)可由T個(gè)天線134a-134t接收,由接收機(jī)132a-132t進(jìn)行處理,由MIMO檢測(cè)器136檢測(cè),并進(jìn)一步由RX數(shù)據(jù)處理器138進(jìn)行處理,以恢復(fù)UE 150所發(fā)送的反饋信息和業(yè)務(wù)數(shù)據(jù)??刂破?處理器140可以基于反饋信息對(duì)去往UE 150的數(shù)據(jù)傳輸進(jìn)行控制。信道處理器144可以基于所接收到的導(dǎo)頻符號(hào)估計(jì)上行鏈路信道響應(yīng),并提供信道估計(jì),該信道估計(jì)可用于MIMO處理或檢測(cè)。
控制器/處理器140和190可分別指導(dǎo)基站110和UE 150處的操作。存儲(chǔ)器142和192可以分別存儲(chǔ)用于基站110和UE 150的數(shù)據(jù)和程序代碼。
圖2示出了TX數(shù)據(jù)處理器120的一個(gè)設(shè)計(jì)的方框圖,其也可用于圖1中的TX數(shù)據(jù)處理器182。在TX數(shù)據(jù)處理器120內(nèi),劃分單元210可接收待發(fā)送數(shù)據(jù),并將該數(shù)據(jù)劃分成具有所選碼塊大小的碼塊。碼塊也可稱為數(shù)據(jù)塊、傳輸塊、分組等。每個(gè)碼塊可被單獨(dú)地進(jìn)行編碼和解碼。循環(huán)冗余校驗(yàn)(CRC)生成器220可以生成每個(gè)碼塊的CRC值并將該CRC值附加到該碼塊。CRC值可由接收機(jī)使用,以確定是對(duì)碼塊進(jìn)行正確地解碼還是出錯(cuò)。Turbo編碼器230可基于所選擇的碼率對(duì)每個(gè)碼塊進(jìn)行編碼,并提供已編碼塊。速率匹配和信道交織器240可以針對(duì)該編碼塊選擇來(lái)自Turbo編碼器230的碼比特的子集,對(duì)所選擇的碼比特進(jìn)行交織,并提供已交織塊。速率匹配和交織可以為該碼比特提供時(shí)間、頻率和/或空間分集。符號(hào)映射器250可以基于所選擇的調(diào)制方案,將已交織比特映射到數(shù)據(jù)符號(hào)。所選擇的碼塊大小、碼率和調(diào)制方案可以基于傳輸格式來(lái)確定,所述傳輸格式可以基于信道條件、UE能力、系統(tǒng)資源的可用性等來(lái)選擇。
圖3示出了圖2中的Turbo編碼器230的一個(gè)設(shè)計(jì)的方框圖。Turbo編碼器230實(shí)現(xiàn)并行級(jí)聯(lián)卷積碼(PCCC),并包括兩個(gè)組成編碼器310a和310b,碼交織器320和打孔與復(fù)用(Mux)單元330。Turbo編碼器230對(duì)N個(gè)數(shù)據(jù)比特的碼塊進(jìn)行編碼,并提供對(duì)應(yīng)的S個(gè)碼比特的已編碼塊,其中N和S可以是任何適當(dāng)?shù)闹怠?br>
在Turbo編碼器230內(nèi),碼交織器320可以基于所選擇的Turbo交織器,對(duì)碼塊中的數(shù)據(jù)比特(被標(biāo)記為x)進(jìn)行交織或重新排序,其中所選擇的Turbo交織器可以是下面所述的無(wú)競(jìng)爭(zhēng)Turbo交織器或常規(guī)Turbo交織器。組成編碼器310a可以基于第一組成碼對(duì)數(shù)據(jù)比特進(jìn)行編碼,并提供第一校驗(yàn)比特(被標(biāo)記為y)。類似地,組成編碼器310b可以基于第二組成碼對(duì)來(lái)自碼交織器320的已交織數(shù)據(jù)比特進(jìn)行編碼,并提供第二校驗(yàn)比特(被標(biāo)記為z)。組成編碼器310a和310b可以實(shí)現(xiàn)兩種遞歸系統(tǒng)組成碼,其可以是卷積碼。單元330可以從組成編碼器310a和310b接收數(shù)據(jù)比特和校驗(yàn)比特,并可以基于所選擇的碼速率來(lái)打孔或刪除足夠數(shù)量的比特,以獲得期望數(shù)量的比特。單元330可對(duì)未刪除數(shù)據(jù)比特和校驗(yàn)比特進(jìn)行復(fù)用,并提供已編碼塊的已編碼比特。所述已編碼比特可以包括數(shù)據(jù)比特(其也稱為系統(tǒng)比特),其后為第一校驗(yàn)比特,再往后為第二校驗(yàn)比特。
圖4示出了RX數(shù)據(jù)處理器170的一個(gè)設(shè)計(jì)的方框圖,其也可用于圖1中的RX數(shù)據(jù)處理器138。在RX數(shù)據(jù)處理器170內(nèi),對(duì)數(shù)似然比(LLR)計(jì)算單元410可以從MIMO檢測(cè)器160接收數(shù)據(jù)符號(hào)估計(jì),并計(jì)算與每個(gè)數(shù)據(jù)符號(hào)估計(jì)對(duì)應(yīng)的碼比特的LLR??梢酝ㄟ^(guò)將B個(gè)碼比特映射到信號(hào)星座(constellation)中的復(fù)數(shù)值來(lái)獲得數(shù)據(jù)符號(hào)。對(duì)于數(shù)據(jù)符號(hào)的B個(gè)碼比特,可以基于對(duì)應(yīng)的數(shù)據(jù)符號(hào)估計(jì)來(lái)計(jì)算B個(gè)LLR。每個(gè)碼比特的LLR可以指示在給定碼比特的數(shù)據(jù)符號(hào)估計(jì)的情況下,碼比特等于零(‘0’)或一(‘1’)的可能性。信道解交織器和去速率匹配單元420可以以與圖2中單元240執(zhí)行的交織和速率匹配互補(bǔ)的方式對(duì)來(lái)自單元410的LLR進(jìn)行解交織和去速率匹配,并提供輸入LLR。Turbo解碼器430可以對(duì)來(lái)自信道解交織器420的每個(gè)輸入LLR塊進(jìn)行解碼,并提供已解碼塊。CRC校驗(yàn)器440可對(duì)每個(gè)已解碼塊進(jìn)行校驗(yàn),并提供該塊的解碼狀態(tài)。組裝器450可將已解碼塊進(jìn)行組裝,并提供已解碼數(shù)據(jù)。
圖5示出了Turbo解碼器430a的一個(gè)設(shè)計(jì)的方框圖,其可用于圖4中的Turbo解碼器430。在Turbo解碼器430a內(nèi),解復(fù)用器(Demux)510可以接收碼塊的輸入LLR,并將該輸入LLR解復(fù)用為數(shù)據(jù)比特x的LLR X、第一校驗(yàn)比特y的LLR Y和第二校驗(yàn)比特z的LLR Z。SISO解碼器520a可從解復(fù)用器510接收數(shù)據(jù)比特LLR X和第一校驗(yàn)比特LLR Y,以及從碼解交織器540接收解交織后的數(shù)據(jù)比特LLR X2。SISO解碼器520a可以基于第一組成碼導(dǎo)出數(shù)據(jù)比特的新的LLR X1。碼交織器530可以基于所選擇的Turbo交織器(其用于圖3中的碼交織器320)對(duì)數(shù)據(jù)比特LLR X1進(jìn)行交織,并提供交織后的數(shù)據(jù)比特LLR
SISO解碼器520b可以從解復(fù)用器510接收數(shù)據(jù)比特LLR X和第二校驗(yàn)比特LLR Z,以及從碼交織器530接收交織后的數(shù)據(jù)比特LLR
SISO解碼器520b可以基于第二組成碼導(dǎo)出數(shù)據(jù)比特的新的LLR
碼解交織器540可以基于所選擇的Turbo交織器的逆對(duì)數(shù)據(jù)比特LLR
進(jìn)行解交織,并提供解交織后的數(shù)據(jù)比特LLRX2。
SISO解碼器520a和520b可以是最大后驗(yàn)概率(MAP)解碼器,其可以實(shí)現(xiàn)BCJR MAP算法或較低復(fù)雜度的派生算法。SISO解碼器520a和520b還可以實(shí)現(xiàn)軟輸出維特比(Viterbi)(SOV)算法或本領(lǐng)域公知的其它解碼算法。
可以對(duì)SISO解碼器520a和520b所執(zhí)行的解碼進(jìn)行多次迭代,例如,6次、8次、10次或更多次。每次迭代后解碼結(jié)果將更為可靠。在完成所有解碼迭代后,檢測(cè)器560可以從SISO解碼器520a接收最終的數(shù)據(jù)比特LLR,對(duì)每個(gè)LLR進(jìn)行硬判決,并提供已解碼比特。
SISO解碼器520a和520b可以串聯(lián)操作,其中一個(gè)SISO解碼器的外來(lái)信息被提供為另一SISO解碼器的輸入。由于兩個(gè)SISO解碼器串聯(lián)操作,一個(gè)物理SISO解碼器可以用來(lái)實(shí)現(xiàn)兩個(gè)SISO解碼器520a和520b。
圖6示出了Turbo解碼器430b的方框圖,其為圖5中的Turbo解碼器430a的一個(gè)設(shè)計(jì)。在Turbo解碼器430b內(nèi),解復(fù)用器610可以接收碼塊的輸入LLR,并將輸入LLR解復(fù)用為第一組成碼的LLR U和第二組成碼的LLRV。LLR U可以包括數(shù)據(jù)比特LLR X和第一校驗(yàn)比特LLR Y。LLR V可以包括數(shù)據(jù)比特LLR X和第二校驗(yàn)比特LLR Z。
對(duì)于第一組成碼,SISO解碼器620可以從解復(fù)用器610接收LLR U以及從存儲(chǔ)單元650接收LLR X2,并導(dǎo)出新的LLR X1。碼交織器630可以基于所選擇的Turbo交織器對(duì)LLR X1進(jìn)行交織,并將交織后的LLR
提供給存儲(chǔ)單元650。對(duì)于第二組成碼,SISO解碼器620可以從解復(fù)用器610接收LLR V以及從存儲(chǔ)單元650接收LLR
并導(dǎo)出新的LLR
碼解交織器640可以基于所選擇的Turbo交織器的逆對(duì)LLR
進(jìn)行解交織,并將解交織后的LLR X2提供給存儲(chǔ)單元650。存儲(chǔ)單元650可以(i)通過(guò)以交織后的順序存儲(chǔ)來(lái)自SISO解碼器620的LLR X1來(lái)實(shí)現(xiàn)碼交織器630,以及(ii)通過(guò)以解交織后的順序存儲(chǔ)來(lái)自SISO解碼器620的LLR
來(lái)實(shí)現(xiàn)碼解交織器640。碼交織和解交織可以通過(guò)生成存儲(chǔ)單元650的合適地址來(lái)完成。檢測(cè)器660可以在完成所有解碼迭代后接收最終數(shù)據(jù)比特LLR,并可以提供已解碼比特。
UE 150可以具有寬帶和/或MIMO能力,并需要支持非常高的峰值數(shù)據(jù)速率,例如,200+Mbps。UE 150的解碼能力可能是瓶頸。具有并行SISO解碼器的高容量Turbo解碼器可以用于支持高峰值數(shù)據(jù)速率。
Turbo編碼器可以對(duì)N個(gè)數(shù)據(jù)比特的碼塊進(jìn)行解碼,并生成S個(gè)碼比特的已編碼塊,其中S依賴于碼率R,或者R=N/S。具有并行SISO解碼器的Turbo解碼器可以將碼塊的N個(gè)數(shù)據(jù)比特所對(duì)應(yīng)的N個(gè)轉(zhuǎn)換(transition)的整個(gè)格式結(jié)構(gòu)劃分成M個(gè)段。每個(gè)段可以覆蓋一個(gè)K個(gè)轉(zhuǎn)換的格式結(jié)構(gòu)窗口,使得M=N/K。每個(gè)段可以由不同的SISO解碼器進(jìn)行處理。M個(gè)SISO解碼器可以并行地對(duì)M個(gè)段進(jìn)行解碼。
圖7示出了Turbo解碼器430c的一個(gè)設(shè)計(jì)的方框圖,其可以用于圖4中的Turbo解碼器430。Turbo解碼器430c包括解復(fù)用器710和M個(gè)并行段解碼器712a-712m。每個(gè)段解碼器712包括SISO解碼器720、碼交織器730、碼解交織器740和存儲(chǔ)單元750。
在Turbo解碼器430c內(nèi),解復(fù)用器710可以接收碼塊的輸入LLR并將其解復(fù)用為與每個(gè)段m對(duì)應(yīng)的LLR Um和Vm,其中m∈{1,...,M}。LLR Um可以包括數(shù)據(jù)比特LLR Xm和與段m的第一組成碼對(duì)應(yīng)的第一校驗(yàn)比特LLR Ym。LLR Vm可以包括數(shù)據(jù)比特LLR Xm和與段m的第二組成碼對(duì)應(yīng)的第二校驗(yàn)比特LLR Zm。解復(fù)用器710可以將每個(gè)輸入LLR提供給一個(gè)段解碼器712。
在用于段m的段解碼器712內(nèi),SISO解碼器720可以在任何給定時(shí)刻對(duì)第一或第二組成碼進(jìn)行解碼。對(duì)于第一組成碼,SISO解碼器720可以從解復(fù)用器710接收LLR Um以及從存儲(chǔ)單元750接收LLR Xm2,并導(dǎo)出新的LLR Xm1。碼交織器730可以對(duì)LLR Xm1進(jìn)行交織并將交織后的LLR
提供給存儲(chǔ)單元750。對(duì)于第二組成碼,SISO解碼器620可以從解復(fù)用器710接收LLR Vm以及從存儲(chǔ)單元750接收LLR
并導(dǎo)出新的LLR
碼解交織器740可以對(duì)LLR
進(jìn)行解交織,并將解交織后的LLR Xm2提供給存儲(chǔ)單元750。存儲(chǔ)單元750可以實(shí)現(xiàn)碼交織器730和碼解交織器740兩者。
對(duì)于第一組成碼的解碼,輸入LLR(或輸入APP)處于自然次序。對(duì)于段m,輸入LLR對(duì)應(yīng)于碼塊中的數(shù)據(jù)比特Km,Km+1,...,K(m+1)-1。對(duì)于第二組成碼的解碼,輸入LLR不處于自然次序。對(duì)于段m,輸入LLR對(duì)應(yīng)于碼塊中的數(shù)據(jù)比特π(Km),π(Km+1),...,π(K(m+1)-1),其中π(x)表示所選擇的Turbo交織器的映射函數(shù),其將位置x上的數(shù)據(jù)比特映射到位置π(x)。
碼交織器730a-730m可以基于所選擇的Turbo交織器來(lái)操作。碼解交織器740a-740m可以基于所選擇的Turbo交織器的逆來(lái)操作。對(duì)于第一組成碼,存儲(chǔ)單元750a-750m可以將輸入LLR分別提供給SISO解碼器720a-720m,并可以分別存儲(chǔ)碼交織器730a-730m的輸出。對(duì)于第二組成碼,存儲(chǔ)單元750a-750m可以將輸入LLR分別提供給SISO解碼器720a-720m,并可以分別存儲(chǔ)碼解交織器740a-740m的輸出。在完成所有解碼迭代后,檢測(cè)器760可以從存儲(chǔ)單元750a-750m接收最終數(shù)據(jù)比特LLR,并提供已解碼比特。
如圖5至7中所示,Turbo解碼的一個(gè)重要特征是在對(duì)兩個(gè)組成碼進(jìn)行的解碼之間交換“外來(lái)”信息。對(duì)第一組成碼進(jìn)行解碼的輸出LLR被提供為對(duì)第二組成碼進(jìn)行解碼的輸入LLR,反之亦然。對(duì)一個(gè)組成碼進(jìn)行解碼的輸出LLR的順序與對(duì)另一組成碼進(jìn)行解碼的輸入LLR的順序不同。因此,在存儲(chǔ)到存儲(chǔ)單元之前,根據(jù)情況對(duì)輸出LLR進(jìn)行交織或解交織。
對(duì)于一個(gè)段,每個(gè)存儲(chǔ)單元750可以存儲(chǔ)用于一個(gè)SISO解碼器720的LLR。每個(gè)存儲(chǔ)單元750可以以自然次序存儲(chǔ)第一組成碼的LLR,然后以交織的順序存儲(chǔ)第二組成碼的LLR,然后以自然次序存儲(chǔ)第一組成碼的LLR,等等。
每個(gè)SISO解碼器720提供輸出LLR,該輸出LLR可以被交織或解交織,然后提供給M個(gè)存儲(chǔ)單元750a-750m。在交織或解交織后,每個(gè)輸出LLR可以被提供給M個(gè)存儲(chǔ)單元750中的任何一個(gè)。
M個(gè)SISO解碼器720a-720m可以連續(xù)地提供輸出LLR,該輸出LLR可以被交織或解交織,然后提供給M個(gè)存儲(chǔ)單元750a-750m。如果作為交織或解交織的結(jié)果,那么來(lái)自多個(gè)SISO解碼器的輸出LLR在更多的寫周期內(nèi)被映射到相同的存儲(chǔ)單元,那么可能出現(xiàn)存儲(chǔ)器競(jìng)爭(zhēng),并且會(huì)插入停頓(stall)時(shí)間來(lái)解決存儲(chǔ)器競(jìng)爭(zhēng)。該停頓時(shí)間可能減少Turbo解碼器的容量。
可以使用無(wú)競(jìng)爭(zhēng)Turbo交織器來(lái)避免采用多個(gè)SISO解碼器進(jìn)行并行解碼期間的存儲(chǔ)器競(jìng)爭(zhēng)。無(wú)競(jìng)爭(zhēng)Turbo交織器對(duì)碼塊中的數(shù)據(jù)比特進(jìn)行重新排序,從而使得來(lái)自多個(gè)SISO解碼器的信息在交織或解交織之后可以在每個(gè)寫周期中并行地寫入多個(gè)存儲(chǔ)單元,而不會(huì)出現(xiàn)存儲(chǔ)器存取競(jìng)爭(zhēng)。無(wú)競(jìng)爭(zhēng)Turbo交織器可以如下在數(shù)學(xué)上進(jìn)行定義
以及公式(1)
公式(2) 對(duì)于0≤m,n<M,m≠n,妿0≤k<K, 其中
表示向下去整操作符,其提供小于或等于x的最大整數(shù), π(x)表示碼交織函數(shù),以及 π-1(x)表示碼解交織函數(shù)。
公式(1)顯示,任意兩個(gè)段m和n中的第k個(gè)數(shù)據(jù)比特應(yīng)該被交織到不同的段。該條件確保了,對(duì)于每個(gè)寫周期,來(lái)自M個(gè)SISO解碼器720a-720m的M個(gè)輸出LLR在交織后被映射到M個(gè)不同的存儲(chǔ)單元750a-750m,其中該映射依賴于碼交織函數(shù)π(x)。
公式(2)顯示,任意兩個(gè)段m和n中的第k個(gè)數(shù)據(jù)比特應(yīng)該被解交織到不同的段。該條件確保了,對(duì)于每個(gè)寫周期,來(lái)自M個(gè)SISO解碼器720a-720m的M個(gè)輸出LLR在解交織后被映射到M個(gè)不同的存儲(chǔ)單元750a-750m,其中該映射依賴于碼解交織函數(shù)π-1(x)。
如下所述,公式(1)和(2)中的條件可以基于各種交織器設(shè)計(jì)而實(shí)現(xiàn)。無(wú)競(jìng)爭(zhēng)Turbo交織器可以針對(duì)N、M和K的特定值來(lái)進(jìn)行定義。無(wú)競(jìng)爭(zhēng)Turbo交織器然后可以針對(duì)N、M和K的這些特定值提供無(wú)競(jìng)爭(zhēng)存儲(chǔ)器存取,而針對(duì)N、M和K的其他的值,可能提供或者可能不提供無(wú)競(jìng)爭(zhēng)存儲(chǔ)器存取。
系統(tǒng)可以支持一組碼塊大小,其可以基于各種因素來(lái)進(jìn)行選擇,例如待發(fā)送數(shù)據(jù)有效載荷的期望范圍、編碼效率等。可以基于待發(fā)送的數(shù)據(jù)量來(lái)選擇供使用的適當(dāng)?shù)拇a塊大小。
根據(jù)一個(gè)設(shè)計(jì),圖8示出了碼塊大小與數(shù)據(jù)有效載荷之間的關(guān)系圖。在該設(shè)計(jì)中,最大的碼塊大小為8192。對(duì)于小于或等于8192的數(shù)據(jù)有效載荷,一個(gè)碼塊可用于整個(gè)數(shù)據(jù)有效載荷。對(duì)于8193到16384范圍內(nèi)的數(shù)據(jù)有效載荷,可使用兩個(gè)碼塊,并且數(shù)據(jù)有效載荷可以被均勻地劃分在兩個(gè)碼塊之中。一般地,對(duì)于在8192NB+1到8192(NB+1)之間的范圍的數(shù)據(jù)有效載荷,可使用NB+1個(gè)碼塊,數(shù)據(jù)有效載荷可以被均勻地劃分在NB+1個(gè)碼塊中。如圖8中所示,一旦數(shù)據(jù)有效載荷充分大,則碼塊大小為4096或更大。
具有并行SISO解碼器的高容量Turbo解碼器(例如,如圖7中所示的)可以用于大的數(shù)據(jù)有效載荷,所述大的數(shù)據(jù)有效載荷可以采用寬帶和/或MIMO進(jìn)行傳輸。對(duì)于小的數(shù)據(jù)有效載荷,具有單個(gè)SISO解碼器的Turbo解碼器(例如,如圖6中所示的6)就足夠。從而,無(wú)競(jìng)爭(zhēng)Turbo交織可能僅對(duì)大的數(shù)據(jù)有效載荷是需要的,例如,特定的大有效載荷及更大的。
根據(jù)一個(gè)方面,Turbo交織可以如下進(jìn)行 ●對(duì)于小于或等于閾值大小的小的碼塊大小,使用常規(guī)Turbo交織器,以及 ●對(duì)于大于閾值大小的大的碼塊大小,使用無(wú)競(jìng)爭(zhēng)Turbo交織器。
對(duì)于圖8中示出的設(shè)計(jì),閾值大小可以等于4096。一般地,閾值大小可以基于某個(gè)點(diǎn)來(lái)進(jìn)行選擇,在該點(diǎn)需要高容量的Turbo解碼器來(lái)滿足解碼吞吐量的要求。
常規(guī)Turbo交織器可以用于最多為閾值大小的小的碼塊大小。在一個(gè)設(shè)計(jì)中,常規(guī)Turbo交織器可以是3GPP版本6中定義的Turbo交織器,其在2006年12月的3GPP TS 25.212中的名稱為“Multiplexing and channelcoding(FDD)”的文檔中進(jìn)行了描述,該文檔可公開獲得。3GPP版本6Turbo交織器支持高達(dá)5114的碼塊大小,且被定義及驗(yàn)證。其它Turbo交織器也可以用于常規(guī)Turbo交織器。
如公式(1)和(2)中所示,無(wú)競(jìng)爭(zhēng)Turbo交織器的設(shè)計(jì)依賴于碼塊大小N、段M的數(shù)量和段大小K。在N與對(duì)應(yīng)的M和K的組合之間可以存在一對(duì)一的映射。對(duì)于每個(gè)大的碼塊大小N,可以針對(duì)該碼塊大小N(在給定的M和K的情況下)定義適當(dāng)?shù)腡urbo交織器函數(shù)π(x),以獲得良好的解碼性能。采用Turbo交織器函數(shù)π(x)的解碼性能可以通過(guò)計(jì)算機(jī)模擬、實(shí)驗(yàn)室測(cè)量、現(xiàn)場(chǎng)測(cè)試等來(lái)驗(yàn)證,并且有可能針對(duì)每個(gè)使用該碼塊大小N的數(shù)據(jù)有效載荷來(lái)進(jìn)行。可以評(píng)估不同的Turbo交織器設(shè)計(jì)(例如,采用不同參數(shù)值)??舍槍?duì)每個(gè)Turbo交織器設(shè)計(jì)來(lái)對(duì)解碼性能進(jìn)行驗(yàn)證,以找出能夠提供良好的(或者可能的最好的)解碼性能的Turbo交織器。Turbo交織器設(shè)計(jì)過(guò)程從而可能是復(fù)雜和冗長(zhǎng)的,特別是對(duì)于大的碼塊大小。通過(guò)僅針對(duì)大的碼塊大小而不是全部的碼塊大小使用無(wú)競(jìng)爭(zhēng)Turbo交織器,Turbo交織器的設(shè)計(jì)復(fù)雜度以及實(shí)現(xiàn)復(fù)雜度可以顯著地降低。
在另一方面,可以采用無(wú)競(jìng)爭(zhēng)Turbo交織器來(lái)支持有限的一組大的碼塊大小而不是所有可能的大小。在一個(gè)設(shè)計(jì)中,所支持的大的碼塊大小可表示為 Ni=Nth+L·i,i=1,2,...,公式(3) 其中Nth是閾值大小, L是連續(xù)的大的碼塊大小之間的步長(zhǎng)大小或增量,以及 Ni是第i個(gè)大的碼塊大小。
在公式(3)中示出的設(shè)計(jì)中,所支持的大的碼塊大小以L線性地增加。對(duì)于每個(gè)大的碼塊大小Ni,可以使用多達(dá)L-1個(gè)填充比特,并且填充開銷可以多達(dá)(L-1)/Ni。L可以基于Turbo交織器復(fù)雜性和填充開銷之間的折衷來(lái)進(jìn)行選擇。較小的L的值對(duì)應(yīng)于更多所支持的大的碼塊大小,其會(huì)增加Turbo交織器復(fù)雜度但會(huì)減少填充開銷。對(duì)于大的L的值,會(huì)減少Turbo交織器的復(fù)雜度但會(huì)增加填充開銷。
在一個(gè)設(shè)計(jì)中,所支持的大的碼塊大小可表示為 Ni=4096+32·i,i=1,2,...,128。公式(4) 公式(4)中的設(shè)計(jì)支持范圍為4128到8192的128個(gè)不同的大的碼塊大小,其增量為L(zhǎng)=32。針對(duì)128個(gè)不同的大的碼塊大小,可以定義128個(gè)無(wú)競(jìng)爭(zhēng)Turbo交織器。每個(gè)大的碼塊大小的填充開銷小于1%。
在另一設(shè)計(jì)中,所支持的大的碼塊大小可表示為 Ni=4096+64·i,i=1,2,...,64。 公式(5) 公式(5)中的設(shè)計(jì)支持范圍為4160到8192的64個(gè)不同的大的碼塊大小,其增量為L(zhǎng)=64。針對(duì)64個(gè)不同的大的碼塊大小,可以定義64個(gè)無(wú)競(jìng)爭(zhēng)Turbo交織器。每個(gè)大的碼塊大小的填充開銷為約1.5%或更低。
Nth和L還可以使用其他值,其確定所支持的大的碼塊大小的數(shù)量和填充開銷。
在另一設(shè)計(jì)中,所支持的大的碼塊大小可表示為 Ni=Ni-1+Li,i=1,2,3,...,公式(6) 其中N0=Nth,Li是第i個(gè)大的碼塊大小的增量。在公式(6)中示出的設(shè)計(jì)中,所支持的大的碼塊大小可采用不同的數(shù)量Li來(lái)增加。例如,可以對(duì)Li進(jìn)行選擇,以獲得每個(gè)大的碼塊大小的目標(biāo)填充開銷,同時(shí)減少Turbo交織器的復(fù)雜度。
一般地,可以支持任意數(shù)量的大的碼塊大小。無(wú)競(jìng)爭(zhēng)Turbo交織器可以基于各種設(shè)計(jì)針對(duì)每個(gè)大的碼塊大小來(lái)進(jìn)行定義。
在一個(gè)設(shè)計(jì)中,無(wú)競(jìng)爭(zhēng)Turbo交織器可以采用抖動(dòng)互素(DRP)交織器來(lái)實(shí)現(xiàn)。DRP交織器使用互素(RP)交織器,其將處于位置n的數(shù)據(jù)比特映射到位置(s+P·n)mod N,其中P和N互質(zhì),s為開始索引,“mod N”表示模N求余操作。DRP交織器在RP交織器之前以及之后還應(yīng)用抖動(dòng)操作。
圖9示出了DRP交織器的操作。大小為N的碼塊被劃分成多個(gè)大小為KR的部分,其中N為KR的整數(shù)倍。每個(gè)部分中的KR個(gè)比特基于第一/讀取抖動(dòng)函數(shù)Ia(n)進(jìn)行交織。隨后基于RP交織器,對(duì)第一抖動(dòng)后的N個(gè)比特進(jìn)行交織,該RP交織器可由Ib(n)=(s+P·n)mod N給出。RP交織后的N個(gè)比特被劃分為多個(gè)大小為KW的部分,其中N為KW的整數(shù)倍。基于第二/寫入抖動(dòng)函數(shù)Ic(n),對(duì)每個(gè)部分中的KW個(gè)比特進(jìn)行交織,以獲取最終的交織后的比特。DRP交織器在IEEE第54界汽車技術(shù)會(huì)議錄,2001年10月,第2394-2398頁(yè)的S.Crozier和P.Guinand的名稱為“High-PerformanceLow-Memory Interleaver Banks for Turbo-Codes”的論文中進(jìn)行了描述,該論文可公開獲得。
可以基于兩個(gè)抖動(dòng)函數(shù)Ia(n)和Ic(n)以及RP交織器函數(shù)Ib(n)來(lái)如下定義DRP交織器函數(shù)πdrp(n) πdrp(n)=Ic(Ib(Ia(n))),n=0,...,N-1.公式(7) DRP交織器功能具有下列特性 πdrp((n+Q)mod N)=(πdrp(n)+Q·P)mod N,以及公式(8) πdrp((n+1)mod N)=(πdrp(n)+D(n mod Q))mod N, 公式(9) 其中D(n)是總的抖動(dòng)函數(shù),其周期為Q,Q為KR和KW的最小公倍數(shù)。可以看出的是,DRP交織器滿足公式(1)和(2)中的K=Q時(shí)的無(wú)競(jìng)爭(zhēng)交織器準(zhǔn)則。
在另一設(shè)計(jì)中,可采用近似正則置換(ARP)交織器來(lái)實(shí)現(xiàn)無(wú)競(jìng)爭(zhēng)Turbo交織器。ARP交織器使用RP交織器,但在每個(gè)位置增加小的偏差。ARP交織器函數(shù)πarp(n)可如下定義 πarp(n)=(P·n+P·A(n)+B(n))mod N,n=0,...,N-1,公式(10) 其中A(n)和B(n)為具有周期C的函數(shù),該周期是N的約數(shù)。
A(n)和B(n)的值與P和N/K相比是小的。項(xiàng)P·A(n)+B(n)將排列增加到RP交織器。ARP交織器在C.Berrou等的下述論文中進(jìn)行了詳細(xì)說(shuō)明題目為“Designing Good Permutations for Turbo CodesTowards SingleModel”,IEEE通信國(guó)際會(huì)議,第1卷,2004年6月20日-24日,第341-345頁(yè),該論文可公開獲得。通過(guò)仔細(xì)地選擇A(n)和B(n),Berrou的論文顯示,對(duì)于M=C,以及可能地對(duì)于M=p·C,只要N是p的倍數(shù),ARP交織器可以滿足公式(1)和(2)中的無(wú)競(jìng)爭(zhēng)交織器準(zhǔn)則。
在又一設(shè)計(jì)中,無(wú)競(jìng)爭(zhēng)Turbo交織器可采用二次置換多項(xiàng)式(QPP)交織器來(lái)實(shí)現(xiàn)。QPP交織器函數(shù)πqpp(n)可如下定義 πqpp(n)=(a·n+b·n2)mod N,n=0,...,N-1,公式(11) 其中a和b為二次式的兩個(gè)常數(shù)。針對(duì)每個(gè)大的碼塊大小,可以為QPP交織器的a和b選擇特定的數(shù)值。
可以看出,如果二次式是針對(duì)N的QPP交織器,則對(duì)于任何可整除N的K都是無(wú)競(jìng)爭(zhēng)的。QPP交織器在Jin Sun和Oscar Y.Takeshita的下述論文中進(jìn)行了詳細(xì)描述題目為“Interleavers for Turbo Codes Using PermutationPolynomials Over Integer Rings”,IEEE信息理論學(xué)報(bào),第51卷,第1期,第101-119頁(yè),2005年,該論文可公開獲得??梢钥闯?,只要K是N的除數(shù),則QPP交織器可以滿足公式(1)和(2)中的無(wú)競(jìng)爭(zhēng)交織器準(zhǔn)則。
圖10示出了Turbo解碼器430d的一個(gè)設(shè)計(jì)的方框圖,其還可以用于圖4中的Turbo解碼器430。在Turbo解碼器430d內(nèi),控制單元1060可以接收所選擇的碼塊大小,并確定該碼塊大小是否大于閾值大小。如果碼塊大小不大于閾值大小,則單元1060可以選擇常規(guī)Turbo交織器1030a,否則,可以選擇無(wú)競(jìng)爭(zhēng)Turbo交織器1030b。單元1060可以基于碼塊大小生成各種控制。
交換單元1010可以接收碼塊的輸入LLR,如果碼塊大小不大于閾值大小,則將輸入LLR提供給SISO解碼器1020a,否則,將輸入LLR提供給SISO解碼器1020b。SISO解碼器1020a可以包括圖6中的SISO解碼器620。常規(guī)Turbo交織器1030a可以包括圖6中的交織器630、解交織器640和存儲(chǔ)單元650。SISO解碼器1020a和常規(guī)Turbo交織器1030a可以如上針對(duì)圖6所述地進(jìn)行操作。單元1060可以將所選擇的碼塊大小和/或控制信號(hào)提供給SISO解碼器1020a和常規(guī)Turbo交織器1030a,其可以基于碼塊大小進(jìn)行操作。
SISO解碼器1020b可以包括圖7中的解復(fù)用器710和SISO解碼器720a-720m。無(wú)競(jìng)爭(zhēng)Turbo交織器1030b可以包括圖7中的碼交織器730a-730m、碼解交織器740a-740m和存儲(chǔ)單元750a-750m。SISO解碼器1020b和無(wú)競(jìng)爭(zhēng)Turbo交織器1030b可以如上針對(duì)圖7所述地進(jìn)行操作。單元1060可將碼塊大小提供給SISO解碼器1020b,該SISO解碼器1020b可以針對(duì)該碼塊大小,基于段大小K對(duì)輸入LLR進(jìn)行解復(fù)用和解碼。單元1060還可以將碼塊大小提供給無(wú)競(jìng)爭(zhēng)Turbo交織器1030b,其可以選擇合適的無(wú)競(jìng)爭(zhēng)Turbo交織器函數(shù)來(lái)用于解碼。
在完成所有解碼迭代后,選擇器1040可以從Turbo交織器1030a或1030b接收最終數(shù)據(jù)比特LLR。如果碼塊大小不大于閾值大小,則選擇器1040可以提供來(lái)自Turbo交織器1030a的最終數(shù)據(jù)比特LLR,否則,可以提供來(lái)自Turbo交織器1030b的最終數(shù)據(jù)比特LLR。檢測(cè)器1050可以從選擇器1040接收最終數(shù)據(jù)比特LLR,并提供已解碼比特。
圖11示出了處理數(shù)據(jù)的過(guò)程1100的一個(gè)設(shè)計(jì)。過(guò)程1100可由發(fā)射機(jī)或接收機(jī)來(lái)執(zhí)行,例如,由UE、基站或一些其它實(shí)體。可以確定從多個(gè)碼塊大小中選擇的碼塊大小(塊1112)。如圖8中所示,例如,可以基于正在發(fā)送的數(shù)據(jù)有效載荷的大小來(lái)選擇碼塊大小。如果碼塊大小大于閾值大小,則可以使用無(wú)競(jìng)爭(zhēng)Turbo交織器(塊1114)。如果碼塊大小小于或等于閾值大小,則可以使用常規(guī)Turbo交織器(塊1116)。所述多個(gè)碼塊大小可以包括多個(gè)較大的碼塊大小,所述較大的碼塊大小大于閾值大小。每個(gè)較大的碼塊大小可與相應(yīng)的無(wú)競(jìng)爭(zhēng)Turbo交織器相關(guān)聯(lián)。所述多個(gè)較大的碼塊大小可以以預(yù)先確定的步長(zhǎng)大小來(lái)線性地增加。所述多個(gè)碼塊大小還可以包括包括多個(gè)較小的碼塊大小,所述較小的碼塊大小小于或等于閾值大小。常規(guī)Turbo交織器可以用于所有較小的碼塊大小。
如果碼塊大小大于閾值大小,則可以基于無(wú)競(jìng)爭(zhēng)Turbo交織器進(jìn)行Turbo編碼或解碼(塊1118)。如果碼塊大小小于或等于閾值大小,則可以基于常規(guī)Turbo交織器來(lái)進(jìn)行Turbo編碼或解碼(塊1120)。
對(duì)于發(fā)射機(jī)(例如,基站),如果碼塊大小大于閾值大小,則可以基于多個(gè)組成編碼器和無(wú)競(jìng)爭(zhēng)Turbo交織器,對(duì)碼塊進(jìn)行Turbo編碼。如果碼塊大小小于或等于閾值大小,則可以基于多個(gè)組成編碼器和常規(guī)Turbo交織器,對(duì)碼塊進(jìn)行Turbo編碼。
對(duì)于接收機(jī)(例如,UE),如果碼塊大小大于閾值大小,則基于多個(gè)SISO解碼器和無(wú)競(jìng)爭(zhēng)Turbo交織器,對(duì)碼塊進(jìn)行Turbo解碼。多個(gè)存儲(chǔ)單元可以用于存儲(chǔ)來(lái)自多個(gè)SISO解碼器的信息。在基于無(wú)競(jìng)爭(zhēng)Turbo交織器進(jìn)行交織或解交織后,來(lái)自多個(gè)SISO解碼器的信息可以在每個(gè)寫周期內(nèi)并行地寫入多個(gè)存儲(chǔ)單元。無(wú)競(jìng)爭(zhēng)Turbo交織器可以基于DRP交織器、ARP交織器、QPP交織器或一些其它類型的能夠支持對(duì)多個(gè)存儲(chǔ)單元進(jìn)行無(wú)競(jìng)爭(zhēng)存取的交織器。如果碼塊大小小于或等于閾值大小,則可以基于至少一個(gè)SISO解碼器和常規(guī)Turbo交織器,對(duì)碼塊進(jìn)行Turbo解碼。
圖12示出了用于處理數(shù)據(jù)的裝置1200的一個(gè)設(shè)計(jì)。裝置1200包括用于確定從多個(gè)碼塊大小中選擇出的碼塊大小的模塊(模塊1212),用于如果碼塊大小大于閾值大小則使用無(wú)競(jìng)爭(zhēng)Turbo交織器的模塊(模塊1214),用于如果碼塊大小小于或等于閾值大小則使用常規(guī)Turbo交織器的模塊(模塊1216),用于如果碼塊大小大于閾值大小則基于無(wú)競(jìng)爭(zhēng)Turbo交織器進(jìn)行Turbo編碼或解碼的模塊(模塊1218),以及用于如果碼塊大小小于或等于閾值大小則基于常規(guī)Turbo交織器進(jìn)行Turbo編碼或解碼的模塊(模塊1220)。
圖12中的模塊可以包括處理器、電子設(shè)備、硬件設(shè)備、電子部件、邏輯電路、存儲(chǔ)器等,或者它們的組合。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,可以使用各種不同的方法和技術(shù)中的任何一種來(lái)表示信息和信號(hào)。例如,在以上整個(gè)說(shuō)明書中所提及的數(shù)據(jù)、指令、命令、信息、信號(hào)、比特、符號(hào)和碼片可以用電壓、電流、電磁波、磁場(chǎng)或磁性粒子、光場(chǎng)或光粒子或者其任何組合來(lái)表示。
本領(lǐng)域技術(shù)人員還應(yīng)當(dāng)明白,結(jié)合這里的公開所描述的各種示例性邏輯塊、模塊、電路和算法步驟可以被實(shí)現(xiàn)為電子硬件、計(jì)算機(jī)軟件或兩者的組合。為了清楚地說(shuō)明硬件和軟件的這種可互換性,已經(jīng)就各種示意性組件、塊、模塊、電路和步驟的功能對(duì)其進(jìn)行了一般性的描述。這種功能是被實(shí)現(xiàn)為軟件還是被實(shí)現(xiàn)為硬件取決于具體應(yīng)用以及施加給整個(gè)系統(tǒng)的設(shè)計(jì)約束。本領(lǐng)域技術(shù)人員可以針對(duì)每種具體應(yīng)用以各種方式來(lái)實(shí)現(xiàn)所述的功能,但是這種實(shí)現(xiàn)決定不應(yīng)被解釋為導(dǎo)致脫離本發(fā)明的范圍。
結(jié)合這里的公開所描述的各種示例性邏輯塊、模塊和電路可以利用被設(shè)計(jì)成用于執(zhí)行這里所述功能的下列部件來(lái)實(shí)現(xiàn)或執(zhí)行通用處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)或其它可編程邏輯器件、分立門或晶體管邏輯、分立的硬件組件或者這些部件的任何組合。通用處理器可以是微處理器,但是可替換地,處理器可以是任何常規(guī)處理器、控制器、微控制器或狀態(tài)機(jī)。處理器也可以被實(shí)現(xiàn)為計(jì)算設(shè)備的組合,例如,DSP和微處理器的組合、多個(gè)微處理器、一個(gè)或多個(gè)微處理器結(jié)合DSP核、或任何其它這種配置。
結(jié)合這里的公開所描述的方法或算法的步驟可以直接體現(xiàn)在硬件中、由處理器執(zhí)行的軟件模塊中或這兩者的組合中。軟件模塊可以位于RAM存儲(chǔ)器、閃速存儲(chǔ)器、ROM存儲(chǔ)器、EPROM存儲(chǔ)器、EEPROM存儲(chǔ)器、寄存器、硬盤、可移動(dòng)盤、CD-ROM、或本領(lǐng)域已知的任何其它形式的存儲(chǔ)介質(zhì)。示例性的存儲(chǔ)介質(zhì)耦合到處理器,使得處理器能夠從該存儲(chǔ)介質(zhì)中讀取信息或向該存儲(chǔ)介質(zhì)寫入信息。在替換方案中,所述存儲(chǔ)介質(zhì)可以與處理器集成在一起。處理器和存儲(chǔ)介質(zhì)可以位于ASIC中。ASIC可以位于用戶終端中。在替換方案中,處理器和存儲(chǔ)介質(zhì)可以作為分立的部件位于用戶終端中。
在一個(gè)或多個(gè)示例性設(shè)計(jì)中,所述功能可以被實(shí)現(xiàn)在硬件、軟件、固件或其任意組合中。如果被實(shí)現(xiàn)在軟件中,則這些功能可以被作為一個(gè)或多個(gè)指令或代碼存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上或通過(guò)計(jì)算機(jī)可讀介質(zhì)來(lái)傳送。計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì),該通信介質(zhì)包括有助于將計(jì)算機(jī)程序從一個(gè)位置傳送到另一個(gè)位置的任何介質(zhì)。存儲(chǔ)介質(zhì)可以是能夠由通用或?qū)S糜?jì)算機(jī)訪問(wèn)的任何可用介質(zhì)。作為例子而非限制性的,該計(jì)算機(jī)可讀介質(zhì)可以包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲(chǔ)介質(zhì)、磁盤存儲(chǔ)介質(zhì)或其它磁性存儲(chǔ)設(shè)備,或者是可以用于攜帶或存儲(chǔ)形式為指令或數(shù)據(jù)結(jié)構(gòu)的所需程序代碼并且能夠由通用或?qū)S糜?jì)算機(jī)或者由通用或?qū)S锰幚砥髟L問(wèn)的任何其它介質(zhì)。此外,任何連接都可以適當(dāng)?shù)胤Q為計(jì)算機(jī)可讀介質(zhì)。例如,如果使用同軸線纜、光纖線纜、雙絞線、數(shù)字用戶線路(DSL)或諸如紅外、無(wú)線電和微波的無(wú)線技術(shù)來(lái)從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源傳送軟件,則上述同軸線纜、光纖線纜、雙絞線、DSL或諸如紅外、無(wú)線電和微波的無(wú)線技術(shù)均包括在介質(zhì)的定義。如這里所使用的,磁盤和光盤包括壓縮盤(CD)、激光盤、光學(xué)盤、數(shù)字多功能盤(DVD)、軟盤、藍(lán)光盤,其中磁盤通常磁性地再現(xiàn)數(shù)據(jù),而光盤利用激光光學(xué)地再現(xiàn)數(shù)據(jù)。上述內(nèi)容的組合也應(yīng)當(dāng)包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
本公開的上述描述被提供來(lái)使得本領(lǐng)域普通技術(shù)人員能夠?qū)崿F(xiàn)或使用本公開內(nèi)容。在不脫離本公開內(nèi)容的范圍的情況下,針對(duì)本公開的各種修改對(duì)于本領(lǐng)域普通技術(shù)人員而言將會(huì)是顯而易見的,并且在此定義的一般性原理可以應(yīng)用于其他變形。因此,本公開內(nèi)容并非意欲限制在此所描述的實(shí)例和設(shè)計(jì),而是要解釋為與在此公開的原理或新穎性特征相一致的最寬范圍。
權(quán)利要求
1、一種用于處理數(shù)據(jù)的裝置,包括
至少一個(gè)處理器,其被配置為確定從多個(gè)碼塊大小中選擇出的碼塊大小,以及如果所述碼塊大小大于閾值大小,則使用無(wú)競(jìng)爭(zhēng)Turbo交織器;以及
存儲(chǔ)器,其耦合到所述至少一個(gè)處理器。
2、根據(jù)權(quán)利要求1所述的裝置,其中,所述至少一個(gè)處理器被配置為如果所述碼塊大小大于所述閾值大小,則基于多個(gè)軟輸入軟輸出(SISO)解碼器和所述無(wú)競(jìng)爭(zhēng)Turbo交織器,對(duì)碼塊進(jìn)行解碼。
3、根據(jù)權(quán)利要求2所述的裝置,其中,所述存儲(chǔ)器被配置為實(shí)現(xiàn)多個(gè)存儲(chǔ)單元,以存儲(chǔ)來(lái)自所述多個(gè)SISO解碼器的信息。
4、根據(jù)權(quán)利要求3所述的裝置,其中,所述至少一個(gè)處理器被配置為在基于所述無(wú)競(jìng)爭(zhēng)Turbo交織器進(jìn)行交織或解交織后,將來(lái)自所述多個(gè)SISO解碼器的信息,在每個(gè)寫周期內(nèi)并行地寫入到所述多個(gè)存儲(chǔ)單元中。
5、根據(jù)權(quán)利要求1所述的裝置,其中,所述多個(gè)碼塊大小包括多個(gè)大于所述閾值大小的碼塊大小,其中所述多個(gè)碼塊大小中的每一個(gè)與相應(yīng)的無(wú)競(jìng)爭(zhēng)Turbo交織器相關(guān)聯(lián)。
6、根據(jù)權(quán)利要求5所述的裝置,其中,所述多個(gè)碼塊大小以預(yù)定的步長(zhǎng)線性地增加。
7、根據(jù)權(quán)利要求5所述的裝置,其中,所述多個(gè)碼塊大小如下給出
Ni=Nth+L·i,
其中Nth為最小的大小,L是連續(xù)碼塊大小之間的步長(zhǎng)大小,Ni是所述多個(gè)碼塊大小中的第i個(gè)碼塊大小。
8、根據(jù)權(quán)利要求5所述的裝置,其中,所述多個(gè)碼塊大小如下給出
Ni=Ni-1+Li
其中Li是第i個(gè)碼塊大小的增量,Ni是所述多個(gè)碼塊大小中的第i個(gè)碼塊大小。
9、根據(jù)權(quán)利要求1所述的裝置,其中,所述至少一個(gè)處理器被配置為如果所述碼塊大小小于或等于所述閾值大小,則使用常規(guī)Turbo交織器。
10、根據(jù)權(quán)利要求9所述的裝置,其中,所述至少一個(gè)處理器被配置為如果所述碼塊大小小于或等于所述閾值大小,則基于至少一個(gè)軟輸入軟輸出(SISO)解碼器和所述常規(guī)Turbo交織器,對(duì)碼塊進(jìn)行解碼。
11、根據(jù)權(quán)利要求9所述的裝置,其中,所述多個(gè)碼塊大小包括小于或等于所述閾值大小的若干碼塊大小,其中,針對(duì)所述若干碼塊大小,使用所述常規(guī)Turbo交織器。
12、根據(jù)權(quán)利要求1所述的裝置,其中,所述至少一個(gè)處理器被配置為基于數(shù)據(jù)有效載荷大小來(lái)選擇所述碼塊大小。
13、根據(jù)權(quán)利要求1所述的裝置,其中,所述至少一個(gè)處理器被配置為如果所述碼塊大小大于所述閾值大小,則基于多個(gè)組成編碼器和所述無(wú)競(jìng)爭(zhēng)Turbo交織器,對(duì)碼塊進(jìn)行編碼。
14、根據(jù)權(quán)利要求9所述的裝置,其中,所述至少一個(gè)處理器被配置為如果所述碼塊大小小于或等于所述閾值大小,則基于多個(gè)組成編碼器和所述常規(guī)Turbo交織器,對(duì)碼塊進(jìn)行編碼。
15、根據(jù)權(quán)利要求1所述的裝置,其中,所述無(wú)競(jìng)爭(zhēng)Turbo交織器基于抖動(dòng)互素(DRP)交織器、近似正則置換(ARP)交織器和二次置換多項(xiàng)式(QPP)交織器中的一個(gè)。
16、一種用于處理數(shù)據(jù)的方法,包括
確定從多個(gè)碼塊大小中選擇出的碼塊大小,以及
如果所述碼塊大小大于閾值大小,則使用無(wú)競(jìng)爭(zhēng)Turbo交織器。
17、根據(jù)權(quán)利要求16所述的方法,還包括
如果所述碼塊大小大于所述閾值大小,則基于多個(gè)軟輸入軟輸出(SISO)解碼器和所述無(wú)競(jìng)爭(zhēng)Turbo交織器,對(duì)碼塊進(jìn)行解碼。
18、根據(jù)權(quán)利要求17所述的方法,還包括
在基于所述無(wú)競(jìng)爭(zhēng)Turbo交織器進(jìn)行交織或解交織后,將來(lái)自所述多個(gè)SISO解碼器的信息,在每個(gè)寫周期內(nèi)并行地寫入到多個(gè)存儲(chǔ)單元中。
19、根據(jù)權(quán)利要求16所述的方法,還包括
如果所述碼塊大小小于或等于所述閾值大小,則選擇常規(guī)Turbo交織器。
20、根據(jù)權(quán)利要求19所述的方法,還包括
如果所述碼塊大小小于或等于所述閾值大小,則基于至少一個(gè)軟輸入軟輸出(SISO)解碼器和所述常規(guī)Turbo交織器,對(duì)碼塊進(jìn)行解碼。
21、根據(jù)權(quán)利要求16所述的方法,還包括
如果所述碼塊大小大于所述閾值大小,則基于多個(gè)組成編碼器和所述無(wú)競(jìng)爭(zhēng)Turbo交織器,對(duì)碼塊進(jìn)行編碼。
22、根據(jù)權(quán)利要求19所述的方法,還包括
如果所述碼塊大小小于或等于所述閾值大小,則基于多個(gè)組成編碼器和所述常規(guī)Turbo交織器,對(duì)碼塊進(jìn)行編碼。
23.、一種處理數(shù)據(jù)的裝置,包括
用于確定從多個(gè)碼塊大小中選擇出的碼塊大小的模塊,以及
用于如果所述碼塊大小大于閾值大小,則使用無(wú)競(jìng)爭(zhēng)Turbo交織器的模塊。
24、根據(jù)權(quán)利要求23所述的裝置,還包括
用于如果所述碼塊大小大于所述閾值大小,則基于多個(gè)軟輸入軟輸出(SISO)解碼器和所述無(wú)競(jìng)爭(zhēng)Turbo交織器,對(duì)碼塊進(jìn)行解碼的模塊。
25、根據(jù)權(quán)利要求24所述的裝置,還包括
用于在基于所述無(wú)競(jìng)爭(zhēng)Turbo交織器進(jìn)行交織或解交織后,將來(lái)自所述多個(gè)SISO解碼器的信息,在每個(gè)寫周期內(nèi)并行地寫入到多個(gè)存儲(chǔ)單元中的模塊。
26、根據(jù)權(quán)利要求23所述的裝置,還包括
用于如果所述碼塊大小小于或等于所述閾值大小,則選擇常規(guī)Turbo交織器的模塊。
27、根據(jù)權(quán)利要求26所述的裝置,還包括
用于如果所述碼塊大小小于或等于所述閾值大小,則基于至少一個(gè)軟輸入軟輸出(SISO)解碼器和所述常規(guī)Turbo交織器,對(duì)碼塊進(jìn)行解碼的模塊。
28、根據(jù)權(quán)利要求23所述的裝置,還包括
用于如果所述碼塊大小大于所述閾值大小,則基于多個(gè)組成編碼器和所述無(wú)競(jìng)爭(zhēng)Turbo交織器,對(duì)碼塊進(jìn)行編碼的模塊。
29、根據(jù)權(quán)利要求26所述的裝置,還包括
用于如果所述碼塊大小小于或等于所述閾值大小,則基于多個(gè)組成編碼器和所述常規(guī)Turbo交織器,對(duì)碼塊進(jìn)行編碼的模塊。
30.、一種機(jī)器可讀質(zhì),包括指令,當(dāng)所述指令被機(jī)器執(zhí)行時(shí),使得所述機(jī)器執(zhí)行下述操作
確定從多個(gè)碼塊大小中選擇出的碼塊大小,以及
如果所述碼塊大小大于閾值大小,則使用無(wú)競(jìng)爭(zhēng)Turbo交織器。
31、根據(jù)權(quán)利要求30所述的機(jī)器可讀質(zhì),當(dāng)其被機(jī)器執(zhí)行時(shí),使得所述機(jī)器還執(zhí)行下述操作
如果所述碼塊大小大于所述閾值大小,則基于多個(gè)軟輸入軟輸出(SISO)解碼器和所述無(wú)競(jìng)爭(zhēng)Turbo交織器,對(duì)碼塊進(jìn)行解碼。
32、根據(jù)權(quán)利要求31所述的機(jī)器可讀質(zhì),當(dāng)其被機(jī)器執(zhí)行時(shí),使得所述機(jī)器還執(zhí)行下述操作
在基于所述無(wú)競(jìng)爭(zhēng)Turbo交織器進(jìn)行交織或解交織后,將來(lái)自所述多個(gè)SISO解碼器的信息,在每個(gè)寫周期內(nèi)并行地寫入到多個(gè)存儲(chǔ)單元中。
33、一種用于處理數(shù)據(jù)的裝置,包括
至少一個(gè)處理器,其被配置為確定從多個(gè)碼塊大小中選擇出的碼塊大小,以及如果所述碼塊大小大于閾值大小,則使用無(wú)競(jìng)爭(zhēng)Turbo交織器,以及如果所述碼塊大小小于或等于所述閾值大小,則使用常規(guī)Turbo交織器;以及
存儲(chǔ)器,其耦合到所述至少一個(gè)處理器。
34、根據(jù)權(quán)利要求33所述的裝置,其中,所述至少一個(gè)處理器被配置為如果所述碼塊大小大于所述閾值大小,則基于多個(gè)軟輸入軟輸出(SISO)解碼器和所述無(wú)競(jìng)爭(zhēng)Turbo交織器,對(duì)碼塊進(jìn)行解碼,以及,如果所述碼塊大小小于或等于所述閾值大小,則基于至少一個(gè)SISO解碼器和所述常規(guī)Turbo交織器,對(duì)所述碼塊進(jìn)行解碼。
全文摘要
描述了用于支持高解碼吞吐量的技術(shù)。發(fā)射機(jī)可以采用Turbo編碼器對(duì)數(shù)據(jù)比特的碼塊進(jìn)行編碼。接收機(jī)可以采用具有多個(gè)軟輸入軟輸出(SISO)解碼器的Turbo解碼器,對(duì)所述碼塊進(jìn)行解碼。如果所述碼塊大小大于閾值大小,則可以使用無(wú)競(jìng)爭(zhēng)Turbo交織器。如果所述碼塊大小小于或等于所述閾值大小,則可以使用常規(guī)Turbo交織器。所述無(wú)競(jìng)爭(zhēng)Turbo交織器對(duì)所述碼塊中的所述數(shù)據(jù)比特進(jìn)行重新排序,使得來(lái)自多個(gè)SISO解碼器的信息在進(jìn)行交織或解交織以后,可以在每個(gè)寫周期內(nèi)并行地寫入多個(gè)存儲(chǔ)單元,而不會(huì)遇到存儲(chǔ)器存取競(jìng)爭(zhēng)。所述常規(guī)Turbo交織器可以以任何方式對(duì)碼塊中的數(shù)據(jù)比特進(jìn)行重新排序,而不考慮無(wú)競(jìng)爭(zhēng)存儲(chǔ)器存取。
文檔編號(hào)H03M13/27GK101529726SQ200780040526
公開日2009年9月9日 申請(qǐng)日期2007年11月1日 優(yōu)先權(quán)日2006年11月1日
發(fā)明者魏永斌, J·孫, D·P·馬拉蒂 申請(qǐng)人:高通股份有限公司