3G信道解碼芯片TV3G的設(shè)計(jì)
摘 要:信道解碼是現(xiàn)代移動(dòng)通信系統(tǒng)中的核心技術(shù)之一,本文根據(jù)3G標(biāo)準(zhǔn)之一WCDMA的要求,開(kāi)發(fā)了一種能夠根據(jù)不同業(yè)務(wù),提供包括Viterbi解碼、Turbo解碼以及無(wú)編碼方式的多功能信道解碼芯片TV3G,重點(diǎn)討論了Turbo編/解碼的原理和TV3G的總體構(gòu)架,并給出了TV3G的接口定義。
關(guān)鍵詞:信道解碼;Turbo解碼;Viterbi解碼;WCDMA
引言
3G業(yè)務(wù)的主要特點(diǎn)是要求支持高速多媒體信息的傳輸,這就對(duì)信道編碼提出了更高的要求。WCDMA方案中采用了對(duì)不同QoS要求的業(yè)務(wù)進(jìn)行不同的信道編碼策略。標(biāo)準(zhǔn)業(yè)務(wù)僅采用卷積編碼,高質(zhì)量業(yè)務(wù)在卷積編碼的基礎(chǔ)上增加RS編碼或采用Turbo編碼方法。相應(yīng)地,需要采用不同的解碼方法, 這對(duì)解碼模塊的設(shè)計(jì)提出了很高的要求,因此設(shè)計(jì)一種能夠完全適應(yīng)WCDMA系統(tǒng)的信道解碼芯片,是具有很高應(yīng)用價(jià)值的?;诖?,本文設(shè)計(jì)了一種能夠完全滿(mǎn)足以上應(yīng)用的信道解碼芯片TV3G,其中,針對(duì)卷積編碼采用Viterbi解碼方式,針對(duì)Turbo編碼采用Turbo解碼方式。
TV3G同時(shí)提供Viterbi解碼、Turbo解碼以及無(wú)編碼方式的數(shù)據(jù)透明傳輸3種模式,其中Turbo解碼是該芯片的難點(diǎn)。由于Viterbi解碼已經(jīng)較為成熟,本文主要針對(duì)Turbo編/解碼算法進(jìn)行討論。Turbo碼由于很好地應(yīng)用了香農(nóng)信道編碼定理中的隨機(jī)性編/解碼條件而獲得了接近香農(nóng)理論極限的解碼性能。它不僅在信噪比(SNR)較低的高噪聲環(huán)境下性能優(yōu)越,而且具有很強(qiáng)的抗衰減、抗干擾能力。
Turbo編碼原理
Turbo碼是一種系統(tǒng)碼的形式,其輸入信息序列在經(jīng)過(guò)交織器送入RSC(遞歸系統(tǒng)卷積)編碼器的同時(shí)送到編碼器輸出端。其中成員碼采用RSC碼的形式,可以保證成員碼編碼器在所有信噪比條件下都具有良好的性能。在Turbo碼系統(tǒng)中,其編碼器由兩個(gè)或多個(gè)二元帶反饋的RSC子編碼器C1和C2經(jīng)由交織器并行級(jí)聯(lián)而成。輸入編碼器的信息序列為U=(u1,u2,...,un),它一方面直接輸入到C1進(jìn)行編碼,生成系統(tǒng)序列Xs和校驗(yàn)序列X1P,另一方面, U經(jīng)過(guò)交織后,輸入C2進(jìn)行編碼,產(chǎn)生一個(gè)經(jīng)過(guò)交織的系統(tǒng)序列Xis和另一個(gè)校驗(yàn)序列 X2P。
Turbo解碼原理
Turbo碼的編碼部分由C1、C2兩個(gè)子編碼器組成,在相應(yīng)的解碼部分也應(yīng)該有兩個(gè)子解碼器DEC1、DEC2.。假設(shè)編碼序列Xs、X1P、X2P經(jīng)過(guò)一個(gè)離散無(wú)記憶高斯信道,其接收序列為 Ys、Y1P、Y2P,如圖1所示。
對(duì)于Turbo碼這樣的并行級(jí)聯(lián)碼,每個(gè)子解碼器的作用不僅僅是解碼判決,它還應(yīng)該能夠提供對(duì)每一位碼元判決值的可靠性估計(jì)。或者說(shuō),子解碼器要能夠進(jìn)行軟輸出。這種判決的可靠性估計(jì),可以作為邊信息(EI),提供給另一個(gè)子解碼器,協(xié)助其解碼。在具體實(shí)現(xiàn)中,可通過(guò)多級(jí)選代的方法來(lái)達(dá)到反饋效果。迭代解碼是Turbo解碼的一個(gè)顯著特色。解碼器由結(jié)構(gòu)相同的模塊串聯(lián)而成,每一級(jí)模塊由DEC1、DEC2.組成,分別用于對(duì)C1、C2的解碼。每一級(jí)模塊除了產(chǎn)生判決值,還輸出判決的可靠性值,作為輸入下一級(jí)解碼模塊的先驗(yàn)信息,協(xié)助下一級(jí)解碼。由于邊信息的作用,一定信噪比下的誤比特率將隨著循環(huán)次數(shù)的增加而下降。但同時(shí)外部信息與接收序列間的相關(guān)性也隨著解碼次數(shù)的增加而逐漸增大,外部信息所提供的糾錯(cuò)能力也隨之減弱,在一定的循環(huán)次數(shù)之后,解碼性能將不再提高。
TV3G芯片設(shè)計(jì)
TV3G共分為六個(gè)功能模塊,分別是Turbo解碼、Viterbi解碼、無(wú)編碼方式、交織器、前端處理以及后端處理模塊。前端接口接收從片外送來(lái)的數(shù)據(jù),并根據(jù)相應(yīng)的接口規(guī)范進(jìn)行地址解碼。然后根據(jù)地址解碼結(jié)果選擇三種處理內(nèi)核之一對(duì)數(shù)據(jù)進(jìn)行處理。與此同時(shí)選擇相應(yīng)的后端接口,以便送出對(duì)應(yīng)的數(shù)據(jù)。而后端接口主要完成解碼內(nèi)核中產(chǎn)生的解碼后數(shù)據(jù)到接口上數(shù)據(jù)格式轉(zhuǎn)換以及解碼數(shù)據(jù)的輸出工作。Turbo解碼器完成Turbo解碼,并采用Max-Log-MAP算法。Viterbi解碼完成卷積碼的解碼,其并行度為8。交織器完成交織序列的生成工作。
在TV3G系統(tǒng)中,Turbo解碼、Viterbi解碼和無(wú)編碼方式是并行互斥的,即同一時(shí)刻只可能有一種解碼方式進(jìn)行,其中交織器是與Turbo解碼方式配套使用的。在系統(tǒng)一級(jí),共有5個(gè)RAM,它們分別由前后接口模塊進(jìn)行管理,其中INPUT_RAM用來(lái)在Viterbi解碼時(shí)存儲(chǔ)待解碼數(shù)據(jù);X_RAM和Y_RAM是用來(lái)在Turbo解碼時(shí)分別存放待解碼數(shù)據(jù)的系統(tǒng)碼和校驗(yàn)碼部分,另外在無(wú)編碼方式時(shí),X_RAM用來(lái)存放待解碼數(shù)據(jù);INT_RAM主要是用來(lái)存放交織表,以供Turbo解碼時(shí)使用,同時(shí)在Viterbi解碼時(shí)用來(lái)進(jìn)行回溯計(jì)算時(shí)使用;數(shù)據(jù)輸出RAM存放解碼后的數(shù)據(jù),以供輸出。經(jīng)簡(jiǎn)化后,TV3G的總體結(jié)構(gòu)如圖2所示。
TV3G共有4種工作模式,分別為1/2卷積解碼模式、1/3卷積解碼模式、1/3 Turbo解碼模式和無(wú)編碼模式(相當(dāng)于數(shù)據(jù)透明傳輸)。TV3G根據(jù)外部控制信號(hào)的狀態(tài)來(lái)決定處于何種解碼模式??紤]到外部系統(tǒng)使用的方便,定義解碼系統(tǒng)的外部接口為總線(xiàn)接口。數(shù)據(jù)送入采用8位的數(shù)據(jù)總線(xiàn)(DB_IN),而地址總線(xiàn)(AB_IN)主要用于系統(tǒng)控制信息的傳遞。
下面舉一個(gè)接收數(shù)據(jù)的實(shí)例(見(jiàn)圖3)。圖3是一個(gè)Turbo編碼數(shù)據(jù)傳入時(shí)序。每一個(gè)數(shù)據(jù)要傳輸?shù)臅r(shí)候WE_IN必須有效,即低電平。這時(shí)端口輸入AB_IN=‘111’,DB_IN=‘00000000’,表示待解碼數(shù)據(jù)是1/3 Turbo編碼類(lèi)型;然后AB_IN=‘001’,同時(shí)DB_IN=‘05’,表示要求迭代次數(shù)為5,在此時(shí)鐘周期,TV3G完成相應(yīng)寄存器的初始化工作;隨后AB_IN=‘101’,DB_IN=‘FF’,表示待解碼的碼長(zhǎng)低8位為FF,可以看出碼長(zhǎng)高8位為0,因此,總的碼長(zhǎng)為FF(H)。最后AB_IN=‘110’,這時(shí)真正的待解碼數(shù)據(jù)開(kāi)始從DB_IN輸入,如F8 04... 。然后TV3G根據(jù)輸入的解碼數(shù)據(jù)進(jìn)行內(nèi)部解碼,最后通過(guò)decoder_result端口輸出結(jié)果。
考慮到3G系統(tǒng)中解碼后的數(shù)據(jù)要作CRC校驗(yàn),而一般的CRC校驗(yàn)電路都要求串行輸入數(shù)據(jù),因此定義解碼器送出的數(shù)據(jù)為串行接口(Decoder_result),并用一根專(zhuān)門(mén)的控制線(xiàn)(Decoder_ready)來(lái)指示數(shù)據(jù)開(kāi)始送出。
結(jié)語(yǔ)
本文所討論的TV3G芯片完全符合3GPP(Release 99)協(xié)議標(biāo)準(zhǔn),輸入6bit量化時(shí),解碼器吞吐能力達(dá)到5Mbps,目前已經(jīng)完成FPGA的系統(tǒng)驗(yàn)證工作,相應(yīng)的ASIC設(shè)計(jì)工作也即將完成?!?/p>
參考文獻(xiàn)
1 3GPP RAN TS25.212 "Multiplexing and channel coding(FDD)"
2 Andrew J. Viterbi, An Intuitive Justification and a Simplified Implementation of the MAP Decoder for Convolutional Codes[J], IEEE Journal on Selected Areas in Communications, Vol. 16, N0. 2, February 1998.
作者簡(jiǎn)介
仲智剛:博士,研究方向?yàn)锳SIC芯片設(shè)計(jì),第三代移動(dòng)通信原理以及寬帶交換機(jī)等。馮根寶:上海貝爾阿爾卡特有限公司公共能力中心總監(jiān),教授級(jí)高工。
評(píng)論