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