文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2015)01-0042-04
0 引言
LTE-A(Long Term Evolution-Advanced)是3GPP最大的新技術(shù)研發(fā)項(xiàng)目,它以其優(yōu)異的性能成為4G通信的標(biāo)準(zhǔn)。它上行峰值速率500 Mb/s,上行峰值頻譜利用率15 Mbps/Hz,下行峰值速率1 Gb/s,下行峰值頻譜利用率30 Mbps/Hz[1-2]。LTE-A的研究和開發(fā)已經(jīng)成為現(xiàn)在通信領(lǐng)域的熱點(diǎn)。
然而,其高速率的比特處理為LTE-A的實(shí)現(xiàn)帶來了巨大的挑戰(zhàn)。Bickerstaff等設(shè)計(jì)了支持卷積碼和Turbo碼的可配置譯碼器[3]。Vogt等實(shí)現(xiàn)了對(duì)卷積碼、Turbo碼和LDPC碼的譯碼[4-6]。但是,這些協(xié)處理器僅支持信道編解碼處理,缺少對(duì)CRC校驗(yàn)和交織的支持,且速率偏低。
為了適應(yīng)LTE-A上行300 Mb/s、下行600 Mb/s的通信要求,本文設(shè)計(jì)了一種兼容CRC校驗(yàn)、卷積碼、Turbo碼和交織的通用并行比特協(xié)處理器。這種協(xié)處理器通過時(shí)分的方法,可以實(shí)現(xiàn)并行的CRC校驗(yàn)[7]、卷積碼的Viterbi譯碼[8]、Turbo碼MAX-Log-MAP譯碼[9]與信道交織[10]。通過可配置的結(jié)構(gòu),可實(shí)現(xiàn)面向2G/3G/LTE/LTE-A等模式的高速比特處理。這種通用的并行比特協(xié)處理器降低了系統(tǒng)復(fù)雜度,實(shí)現(xiàn)了運(yùn)算器的通用化。
1 面向LTE-A的比特處理
2G/3G/LTE/LTE-A通信的比特處理包含CRC校驗(yàn)、卷積/Turbo編碼和交織,如圖1所示。特別對(duì)于LTE-A系統(tǒng)來說,首先輸入數(shù)據(jù),進(jìn)行CRC校驗(yàn);然后校驗(yàn)的數(shù)據(jù)進(jìn)行1/3碼率的卷積/Turbo編碼,輸出編碼數(shù)據(jù);編碼數(shù)據(jù)再進(jìn)行內(nèi)交織合并,組成一個(gè)交織編碼序列;編碼序列進(jìn)行速率匹配截?cái)?,變成刪截序列輸出。
對(duì)于接收端,HARQ模式可以將多個(gè)接收得到的符號(hào)序列組合,輸入給解交織模塊;解交織模塊將數(shù)據(jù)進(jìn)行解交織,變成3路數(shù)據(jù);解碼器將3路數(shù)據(jù)進(jìn)行解碼,得到比特輸出,然后進(jìn)行CRC校驗(yàn),輸出最終比特。
典型LTE-A上行300 Mb/s、下行600 Mb/s的需求,要求發(fā)送端的信息速率為300 Mb/s,接收端的信息速率為600 Mb/s。其高速率的比特處理為LTE-A的實(shí)現(xiàn)帶來了巨大的挑戰(zhàn)。因此,需要采用并行的模式,實(shí)行高速率的比特處理。
2 并行比特協(xié)處理器
協(xié)處理器結(jié)構(gòu)如圖2所示,共有硬件執(zhí)行單元6個(gè),其中:(1)CRCEnc/CRCDec,執(zhí)行CRC編解碼;(2)Intlv/Deintlv,執(zhí)行交織和解交織;(3)FECEnc/FECDec,執(zhí)行核心卷積碼和Turbo碼的編碼及解碼。
同時(shí),協(xié)處理器還有4類存儲(chǔ)器,其中:(1)C0~C5/P0~P1,其中C0~C5為256×192的RAM,P0~P1為256×256的RAM。RAM中,C0~C2/P0為第一組,C3~C5/P1為第二組。8塊RAM通過乒乓的結(jié)構(gòu)進(jìn)行數(shù)據(jù)處理。這兩組RAM主要供編碼的比特或譯碼的軟信息的輸入或輸出。(2)B0~B4,為768×64的RAM,主要供交織運(yùn)算。(3)ExRAM,為256×1 280的大塊RAM,主要供譯碼中間狀態(tài)的保存。(4)IntlvRAM,為512×32的小塊RAM,主要供Turbo碼的編解碼交織器的暫存。
此外,協(xié)處理器還包括3個(gè)總線。一個(gè)256位寬總線,供DMA輸入輸出;一個(gè)64比特總線,供交織數(shù)據(jù)傳遞;一個(gè)32位總線,供APB端口進(jìn)行協(xié)處理器的配置處理。
2.1 CRCEnc/CRCDec
CRC校驗(yàn)的基本思想是利用線性編碼理論,在發(fā)送端根據(jù)要傳送的k位二進(jìn)制碼序列,以一定的規(guī)則產(chǎn)生一個(gè)校驗(yàn)用的監(jiān)督碼(既CRC碼)r bit,并附在信息后邊,構(gòu)成一個(gè)新的二進(jìn)制碼序列數(shù)共(k+r)bit,最后發(fā)送出去。在接收端,則根據(jù)信息碼與CRC碼之間所遵循的規(guī)則進(jìn)行檢驗(yàn),以確定傳送中是否出錯(cuò)。
并行CRC的硬件結(jié)構(gòu)如圖3所示。首先,完成CRC生成矩陣的配置,然后進(jìn)行CRC的計(jì)算。由于系統(tǒng)32 bit字的要求,其輸入/輸出均為32 bit字,內(nèi)部CRC并行位數(shù)M由配置決定。CRC并行硬件包含3步:
(1)首先完成32 bit并行字到M bit并行字的轉(zhuǎn)換,為CRC矩陣乘法提供輸入;
(2)實(shí)現(xiàn)M bit并行數(shù)據(jù)加r bit余數(shù)與M×(r+M)矩陣的比特乘法;
(3)最后將r bit并行余數(shù)字轉(zhuǎn)換為32 bit并行字,為CRC的輸出。
這里,編解碼的操作實(shí)際上是一樣的,不過,CRC編碼輸入k bit數(shù)據(jù),需要給出r+k bit比特輸出;CRC解碼輸入r+k bit數(shù)據(jù),輸出為k bit比特和CRC校驗(yàn)指示符。
2.2 FECEnc/FECDec
卷積碼和Turbo碼等FEC碼的編解碼,在待發(fā)送的原始信息流中,按照一定的規(guī)律附加一些監(jiān)督碼元,這些多余的碼元與信息碼元之間以某種確定的規(guī)則相互約束。在接收端接收到通過差錯(cuò)控制編碼的信息后,再按照既定的規(guī)則檢驗(yàn)信息碼元與監(jiān)督碼元之間的關(guān)系,一旦傳輸過程中發(fā)生錯(cuò)誤,信息碼元與監(jiān)督碼元之間的關(guān)系就會(huì)受到破壞,而從中發(fā)現(xiàn)錯(cuò)誤,乃至糾正錯(cuò)誤。
典型的卷積碼/Turbo碼信道編碼器框圖如圖4所示。FECEnc采用Turbo碼編碼結(jié)構(gòu),采取巧妙、獨(dú)特的措施將普通的RSC(遞歸系統(tǒng)卷積碼)組成元素重新排列,達(dá)到了非凡的性能。當(dāng)FECEnc進(jìn)行卷積碼編碼時(shí),將Intlv模式配制成直通模式即可。
FECDec并行譯碼器的結(jié)構(gòu)如圖5所示,包含交織地址生成模塊(TurboIntlv)、數(shù)據(jù)并行分發(fā)(Parallel Reshp)、狀態(tài)度量計(jì)算(Metric)和似然比軟信息計(jì)算(LLR)模塊,此外,還包含一個(gè)寬口存儲(chǔ)ExRAM。
交織地址生成模塊(TurboIntlv)計(jì)算3G/LTE/LTE-A等系統(tǒng)中的Turbo碼交織器序列,并傳遞給數(shù)據(jù)并發(fā)單元。由于在Turbo譯碼時(shí)有前向遞歸和后向遞歸,因此其交織器有正反序交織輸出的能力。
數(shù)據(jù)并行分發(fā)模塊將輸入的32路信道信息Mesg、32路信道校驗(yàn)Parity和32路外信息LLR根據(jù)交織器的交織地址進(jìn)行行內(nèi)交織,分發(fā)到32路支路度量計(jì)算單元。
度量計(jì)算模塊包含支路度量的計(jì)算和狀態(tài)度量的計(jì)算。
支路度量將分發(fā)過來的信道信息、校驗(yàn)信息和及外信息Le(uk),根據(jù)卷積碼或Turbo碼的狀態(tài)轉(zhuǎn)移圖進(jìn)行組合,輸出信道度量、校驗(yàn)度量和支路度量Ek。即:
根據(jù)支路度量進(jìn)行遞歸運(yùn)算,即可得到前向狀態(tài)度量Ak(s)和后向狀態(tài)度量Bk(s)為:
這里,由于Turbo碼前向狀態(tài)度量、Turbo碼后向狀態(tài)度量和卷積碼狀態(tài)度量計(jì)算的輸入是不同的,所以輸入是根據(jù)配置3選1的。同時(shí),為了保證輸出的量化精度,輸出需要?dú)w一化,所以其執(zhí)行模塊是3選1的加比選后再歸一化,歸一化參數(shù)為。
似然比軟信息計(jì)算模塊計(jì)算譯碼的軟信息,主要包含4步:
(1)加法,即完成前后度量的綜合,當(dāng)uk=+1/-1時(shí),其狀態(tài)轉(zhuǎn)移各有8個(gè)。
(2)最小狀態(tài)轉(zhuǎn)移,即完成兩個(gè)8選1的最小值比較:
(3)似然比計(jì)算,即+1的似然比減去-1的似然比,得到先驗(yàn)信息為:
(4)最后,計(jì)算判決似然比,即:
整個(gè)模塊以可配置的模式,完成對(duì)各種卷積碼和Turbo碼的解碼運(yùn)算。
2.3 Intlv/Deintlv
為了實(shí)現(xiàn)各種速率的要求,在編碼之后需要進(jìn)行速率匹配。
速率匹配的作用是根據(jù)系統(tǒng)要求,通過增減比特?cái)?shù),將編碼器的輸出速率調(diào)整到所需要的碼率。LTE針對(duì)Turbo碼和咬尾卷積碼采用了不同的速率匹配機(jī)制。速率匹配是通過交織來實(shí)現(xiàn)的。然而,LTE-A上行信息速率300 Mb/s,速率較高,需要并行的交織器完成數(shù)據(jù)交織,交織結(jié)構(gòu)如圖6所示。交織器根據(jù)8路交織地址,選擇8路比特,然后對(duì)這些比特進(jìn)行合并,組成32 bit的字輸出。
解交織結(jié)構(gòu)如圖7所示,需要將索引間隔為32的數(shù)據(jù)變換成索引間隔為L(L為滑窗譯碼的窗長)的數(shù)據(jù)。解交織分兩步進(jìn)行:首先將索引間隔為32的數(shù)據(jù)變換成索引間隔為1的數(shù)據(jù);然后將索引間隔為1的數(shù)據(jù)變換成索引間隔為L(L為滑窗譯碼的窗長)的數(shù)據(jù)。
(1)將索引間隔為32的數(shù)據(jù)變換成索引間隔為1的數(shù)據(jù)。解交織器根據(jù)交織索引,生成列數(shù)據(jù)讀地址。每次讀入1列,讀8次,讀入8列。然后8列數(shù)據(jù)進(jìn)行裝置,再按照行輸出,即完成數(shù)據(jù)的第一步解交織。
(2)將索引間隔為1的數(shù)據(jù)變換成索引間隔為L(L為滑窗譯碼的窗長)的數(shù)據(jù)。解交織器根據(jù)交織索引,生成行數(shù)據(jù)讀地址。每次讀入1行,讀8次,讀入8行。然后8行數(shù)據(jù)進(jìn)行裝置,再按照列輸出,即完成數(shù)據(jù)的解交織。這樣的數(shù)據(jù)可以被后面的解碼器并行使用,便于譯碼。
3 性能資源
本文在65 nm CMOS工藝下,實(shí)現(xiàn)了可配置多模式并行比特協(xié)處理器。譯碼器面積1.9 mm×2.1 mm,slow case下時(shí)鐘速率達(dá)600 Mb/s。支持CRC校驗(yàn)、卷積碼/Turbo碼和交織。并行比特協(xié)處理器版圖如圖8所示。
協(xié)處理器進(jìn)行LTE-A上行比特處理時(shí),占用帶寬431 MHz;進(jìn)行下行解交織處理時(shí),占用帶寬506 MHz;進(jìn)行下行解碼時(shí),占用帶寬508 MHz。由于系統(tǒng)采用乒乓結(jié)構(gòu)完成,且時(shí)鐘頻率可達(dá)550 MHz,故可以通過時(shí)分的結(jié)構(gòu)完成面向LTE-A的高速比特處理。運(yùn)行速率如表1所示。
4 結(jié)論
本文介紹了一種面向LTE-A寬帶通信的PBC協(xié)處理器。通過可配置的結(jié)構(gòu),該協(xié)處理器支持2G/3G/LTE/LTE-A標(biāo)準(zhǔn)的高速比特處理,包括600 Mb/s的CRC校驗(yàn)編解碼、卷積/Turbo編解碼和交織/解交織。在65 nm CMOS工藝下,該譯碼器資源約為1.9 mm×2.1 mm,slow case下時(shí)鐘速率550 MHz;工作在510 MHz時(shí),可完成面向LTE-A的600 Mb/s高速比特處理需求。
參考文獻(xiàn)
[1] 秉毅,張?jiān)朴?LTE/LTE-A技術(shù)及標(biāo)準(zhǔn)進(jìn)展[J].電信網(wǎng)技術(shù),2010(5):25-28.
[2] 張光輝,孫震強(qiáng),許森.4G在3GPP的演進(jìn)和5G展望[J].電信技術(shù),2013(12):12-17.
[3] BICKERSTAFF M A,GARRETT D,THOMAS C,et al.A unifed turbo/viterbi channel decoder for 3GPP mobile wire-less in 0.18 um CMOS[C].IEEE International Solid-State Cuircuits Conference(ISSCC'02).San Francisco,CA:Feb.2002:124,451.
[4] VOGT T,WEHN N.A reconfigurable application specific instruction set processor for convolutional and turbo decodingin a sdr environment[C].Proceedings of Design,Automation Test in Europe(DATE'08).Munich,Germany:Mar.2008.
[5] ALLES M,VOGT T,WEHN N.Flexichap: A reconfigurable ASIP for convolutional, turbo, and LDPC code decoding[C].International Symposium on Turbo Coding(TURBO CODING′08).Lausanne,Switzerland:Sept.2008.
[6] DIELISSEN J,ENGIN N,SAWITZKI S,et al.Multistandard FEC decoders for wireless devices[J].IEEE Transaction onCircuits And Systems—II:Express Briefs,2008,55(3): 284-288.
[7] 許培培,賈鉑奇,余金培,等.一種通用并行CRC計(jì)算原理及其實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2010,26(27):110-111.
[8] 段高攀,杜慧敏,韓俊剛,等.可編程Viterbi譯碼器設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2014,40(3):29-31.
[9] 汪漢新,葉俊民.基于Turbo碼的Max-Log-MAP譯碼算法的改進(jìn)[J].現(xiàn)代電子技術(shù),2013(16):37-39.
[10] 劉輝,陳小亭,李小文.LTE系統(tǒng)中基于FPGA速率匹配算法的仿真及實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2013(7):14-16.