Turbo碼特點(diǎn)及應(yīng)用分析
Turbo 碼。它巧妙地將兩個(gè)簡(jiǎn)單分量碼通過(guò)偽隨機(jī)交織器并行級(jí)聯(lián)來(lái)構(gòu)造具有偽隨機(jī)特性的長(zhǎng)碼,并通過(guò)在兩個(gè)軟入/軟出(SISO)譯碼器之間進(jìn)行多次迭代實(shí)現(xiàn)了偽隨機(jī)譯碼。他的性能遠(yuǎn)遠(yuǎn)超過(guò)了其他的編碼方式,得到了廣泛的關(guān)注和發(fā)展,并對(duì)當(dāng)今的編碼理論和研究方法產(chǎn)生了深遠(yuǎn)的影響,信道編碼學(xué)也隨之進(jìn)入了一個(gè)新的階段。
特點(diǎn) Turbo碼有一重要特點(diǎn)是其譯碼較為復(fù)雜,比常規(guī)的卷積碼要復(fù)雜的多,這種復(fù)雜不僅在于其譯碼要
Turbo碼采用迭代的過(guò)程,而且采用的算法本身也比較復(fù)雜。這些算法的關(guān)鍵是不但要能夠?qū)γ勘忍剡M(jìn)行譯碼,而且還要伴隨著譯碼給出每比特譯出的可靠性信息,有了這些信息,迭代才能進(jìn)行下去。用于Turbo碼譯碼的具體算法有:MAP(Maximum A Posterori)
Max-Log-MAP、Log-MAP和SOVA(Soft Output Viterbi Algorithm)算法。MAP算法是1974年被用于卷積碼的譯碼,但用作Turbo碼的譯碼還是要做一些修改;Max-Log-MAP與Log-MAP是根據(jù)MAP算法在運(yùn)算量上做了重大改進(jìn),雖然性能有些下降,但使得Turbo碼的譯碼復(fù)雜度大大的降低了,更加適合于實(shí)際系統(tǒng)的運(yùn)用;Viterbi算法并不適合Turbo碼的譯碼,原因就是沒(méi)有每比特譯出的可靠性信息輸出,修改后的具有軟信息輸出的SOVA算法,就正好適合了Turbo碼的譯碼。這些算法在復(fù)雜度上和性能上具有一定的差異,系統(tǒng)地了解這些算法的原理是對(duì)Turbo碼研究的基礎(chǔ),同時(shí)對(duì)這些算法的復(fù)雜度和性能的比較研究也將有助于Turbo的應(yīng)用研究。
Turbo碼的仿真一般參考吳宇飛的經(jīng)典程序。
此外,要想在移動(dòng)無(wú)線系統(tǒng)中成功的使用Turbo碼,首先要考慮在語(yǔ)音傳輸中最大延遲的限制。在短幀情況下的仿真結(jié)果表明短交織Turbo碼在AWGN信道和Rayleigh衰落下仍然具有接近信道容量的糾錯(cuò)能力,從而顯示出Turbo碼在移動(dòng)無(wú)線通信系統(tǒng)中非常廣闊的應(yīng)用前景。
Turbo碼 (Turbo Code)
Turbo 碼(Turbo Code)是一類應(yīng)用在外層空間衛(wèi)星通信和設(shè)計(jì)者尋找完成最大信息傳輸通過(guò)一個(gè)限制帶寬通信鏈路在數(shù)據(jù)破壞的噪聲面前的其它無(wú)線通信應(yīng)用程序的高性能糾錯(cuò)碼。有兩類 Turbo 碼在那里,塊 Turbo 碼和卷積 Turbo 碼(CTCs),它們是相當(dāng)不同的,因?yàn)樗鼈兪褂貌煌臉?gòu)件碼,不同的串聯(lián)方案和不同的 SISO 算法。
研究現(xiàn)狀
對(duì)于Turbo碼的研究最初集中于對(duì)于其譯碼算法、性能界和獨(dú)特編碼結(jié)構(gòu)的研究上,經(jīng)過(guò)十多年來(lái)的發(fā)展歷程,已經(jīng)取得了很大的成果,在各方面也都走向使用階段。Turbo碼由于很好地應(yīng)用了香農(nóng)信道編碼定理中的隨機(jī)性編譯碼條件而獲得了接近香農(nóng)理論極限的譯碼性能。它不僅在信噪比較低的高噪聲環(huán)境下性能優(yōu)越,而且具有很強(qiáng)的抗衰落、抗干擾能力。目前,Turbo碼的研究主要集中在以下幾個(gè)方面:
編譯碼技術(shù)
編碼方面主要包括對(duì)并行級(jí)聯(lián)編碼與串行級(jí)聯(lián)編碼的分析,以及對(duì)混合級(jí)聯(lián)方式的研究;譯碼方面主要包括迭代譯碼、譯碼算法(最大后驗(yàn)概率算法MAP、修正的MAP算法Max-Log-MAP、軟輸出Viterbi 算法SOVA等)的研究。
Turbo碼的設(shè)計(jì)和分析
主要包括交織器的設(shè)計(jì)、碼的級(jí)聯(lián)方式、譯碼算法、Turbo碼的性能分析等。在性能分析中,主要對(duì)碼重分布及距離譜進(jìn)行分析,但由于沒(méi)有相應(yīng)的理論支持,這種分析只能是近似的,且僅局限于短碼長(zhǎng)、小碼重的情況。
Turbo 碼在直擴(kuò)(CDMA) 系統(tǒng)中的研究及應(yīng)用
Turbo 碼不僅在信道信噪比很低的高噪聲環(huán)境下性能優(yōu)越,而且還具有很強(qiáng)的抗衰落、抗干擾能力,因此它在信道條件差的移動(dòng)通信系統(tǒng)中有很大的應(yīng)用潛力,在第三代移動(dòng)通信系統(tǒng)(IMT-2000)中己經(jīng)將Turbo碼作為其傳輸高速數(shù)據(jù)的信道編碼標(biāo)準(zhǔn)。第三代移動(dòng)通信系統(tǒng)(IMT-2000)的特點(diǎn)是多媒體和智能化,要能提供多元傳輸速率、高性能、高質(zhì)量的服務(wù),為支持大數(shù)據(jù)量的多媒體業(yè)務(wù),必須在布限帶寬信道上傳輸數(shù)據(jù)。由于無(wú)線信道傳輸媒質(zhì)的不穩(wěn)定性及噪聲的不確定性,一般的糾錯(cuò)碼很難達(dá)到較高要求的譯碼性能(一般要求比特誤碼率小于10-6e),而Turbo碼引起超乎尋常的優(yōu)異譯碼性能,可以糾正高速率數(shù)據(jù)傳輸時(shí)發(fā)生的誤碼。另外,由于在直擴(kuò)(CDMA) 系統(tǒng)中采用Turbo 碼技術(shù)可以進(jìn)一步提高系統(tǒng)的容量,所以有關(guān)Turbo碼在直擴(kuò)(CDMA) 系統(tǒng)中的應(yīng)用,也就受到了各國(guó)學(xué)者的重視。
面向分組的Turbo 碼
主要面向分組的Turbo 碼的構(gòu)造、譯碼及譯碼器的分析。
Turbo 碼與其它通信技術(shù)的結(jié)合
包括Turbo 碼與調(diào)制技術(shù)(如網(wǎng)格編碼調(diào)制TCM)的結(jié)合、Turbo碼與均衡技術(shù)的結(jié)合(Turbo碼均衡)、Turbo碼編碼與信源編碼的結(jié)合、Turbo碼譯碼與接收檢測(cè)的結(jié)合等等。Turbo碼與OFDM調(diào)制、差分檢測(cè)技術(shù)相結(jié)合,具有較高的頻率利用率,可有效地抑制短波信道中多徑時(shí)延、頻率選擇性衰落、人為干擾與噪聲帶來(lái)的不利影響。國(guó)內(nèi)在Turbo碼的研究領(lǐng)域也取得了一定的成果和進(jìn)展,西安電子科技大學(xué)綜合業(yè)務(wù)網(wǎng)國(guó)家重點(diǎn)試驗(yàn)室在Turbo碼的理論和應(yīng)用研究方面取得了很多研究成果。此外,清華大學(xué)、北京郵電大學(xué)和上海交通大學(xué)等高校都在進(jìn)行Turbo碼相關(guān)的其它關(guān)鍵技術(shù)的研究方面取得一定的進(jìn)展。深圳華為公司等在推動(dòng)Turbo碼在移動(dòng)通信系統(tǒng)中的應(yīng)用方面起了積極的作用。
編碼原理
Turbo 碼最先是由C. Beηou等提出的。它實(shí)際上是一種并行級(jí)聯(lián)卷積碼(Parallel Concatenated Convolutional Codes)。Turbo 碼編碼器是由兩個(gè)反饋的系統(tǒng)卷積編碼器通過(guò)一個(gè)交織器并行連接而成,編碼后的校驗(yàn)位經(jīng)過(guò)刪余陣,從而產(chǎn)生不同的碼率的碼字。如圖所示:信息序列u={u1,u2,……,uN}經(jīng)過(guò)交織器形成一個(gè)新序列u'={u1',u2',……,uN'}(長(zhǎng)度與內(nèi)容沒(méi)變,但比特位經(jīng)過(guò)重新排列),u 和u'分別傳送到兩個(gè)分量編碼器(RSC1與RSC2) ,一般情況下,這兩個(gè)分量編碼器結(jié)構(gòu)相同,生成序列X和X,為了提高碼率,序列X和X需要經(jīng)過(guò)刪余器,采用刪余(puncturing)技術(shù)從這兩個(gè)校驗(yàn)序列中周期的刪除一些校驗(yàn)位,形成校驗(yàn)序列X,X,與未編碼序列X'經(jīng)過(guò)復(fù)用調(diào)制后,生成了Turbo碼序列X.
1. 分量碼的選擇
Turbo 碼的一個(gè)重要特點(diǎn)是它的分量碼采用遞歸系統(tǒng)卷積碼(RSC,Recursive Systematic Convolutional code) ,這也是它性能優(yōu)越的一個(gè)重要原因。之所以選擇RSC編碼器作為Turbo碼的子碼主要有以下原因:
首先,RSC碼具有系統(tǒng)碼的優(yōu)點(diǎn)。這一特性使用戶在譯碼時(shí)無(wú)需變換碼字而直接對(duì)接收的碼字進(jìn)行譯碼,所以,遞歸系統(tǒng)卷積碼( RSC)對(duì)于非系統(tǒng)卷積碼( NSC )而言譯碼簡(jiǎn)單、快速。
其次,從差錯(cuò)控制編碼的相關(guān)文獻(xiàn)中可知,非系統(tǒng)卷積碼( NSC )的BER性能在高信噪比時(shí)比約束長(zhǎng)度相同的非遞歸系統(tǒng)碼要好,而在低信噪比時(shí)情況卻正好相反。遞歸系統(tǒng)卷積碼綜合了NSC碼和非遞歸系統(tǒng)卷積碼的特性,且然它與NSC碼具有相同的trellis結(jié)構(gòu)和自由距離,但是在高碼率(R≥2/3)的情況下,對(duì)任何信噪比,它的性能均比等效的NSC碼要好。由于系統(tǒng)遞歸卷積碼具有以上特點(diǎn),并且能改善無(wú)碼率,所以通常選擇RSC碼作為Turbo碼的子編碼器。
遞歸系統(tǒng)卷權(quán)碼(RSC)不同于一般的卷積碼器在于其結(jié)構(gòu)中不僅有向前結(jié)構(gòu),還有向后反饋結(jié)構(gòu),在下圖中可以看出。
Turbo碼 RSC 編碼器一般有2-5 級(jí)移位寄存器, 用生成多項(xiàng)式表示為:
式中,1表示系統(tǒng)比特,gl 和g2分別表示編碼器的前饋多項(xiàng)式和反饋多項(xiàng)式。
Turbo碼 用RSC碼構(gòu)成Turbo碼的分量碼的碼率R為:
式中:R1,R2為構(gòu)成Turbo 碼的分量碼的碼率,在經(jīng)刪余后,分量RSC1和RSC2的碼率可以不同。
Turbo 碼的最大似然譯碼性能分析出,Turbo 碼在高信噪比下的性能主要由它的自由距離所決定。因?yàn)門urbo碼的自由距離主要由重量為2的輸入信息序列所產(chǎn)生的碼字間的最小距離所決定,用本原多項(xiàng)式作為反饋連接多項(xiàng)式的分量編碼器所產(chǎn)生的碼字的最小重量為最大,因此當(dāng)Turbo碼交織器的大小給定后,如果分量碼的反饋連接多項(xiàng)式采用本原多項(xiàng)式,則Turbo碼的自由距離會(huì)增加,從而Turbo碼在高斯信噪比情況下的“錯(cuò)誤平層(errorfloor)”會(huì)降低。錯(cuò)誤平層效應(yīng)指的是在中高信噪比情況下,誤碼曲線變平。也就是說(shuō),即使是再增大信噪比,無(wú)碼率也降不下來(lái)(一般的系統(tǒng),比如說(shuō)是BPSK的誤碼曲線,誤碼率隨著信噪比的增大是單調(diào)下降的) 。
2. 交織器的設(shè)計(jì)
交織器是影響Turbo碼性能的一個(gè)關(guān)鍵因素,它可以便Turbo碼的距離譜細(xì)化,即碼重分布更為集中。它的特性的好壞直接關(guān)系著Turbo碼的性能。
編碼器中交織器的使用是實(shí)現(xiàn)Turbo碼近似隨機(jī)編碼的關(guān)鍵。交織器實(shí)際上是一個(gè)一一映射函數(shù),作用是將輸入信息序列中的比特位置進(jìn)行重置,以減小分量編碼器輸出校驗(yàn)序列的相關(guān)性和提高碼重。通常在輸入信息序列較長(zhǎng)時(shí)可以采用近似隨機(jī)的映射方式,相應(yīng)的交織器稱為偽隨機(jī)交織器。由于在具體的通信系統(tǒng)中采用Turbo碼時(shí)交織器必須具有固定的結(jié)構(gòu),同時(shí)是基于信息序列的,因此在一定條件下可以把Turbo碼看成一類特殊的分組碼來(lái)簡(jiǎn)化分析。交織是對(duì)信息序列加以重新排列的一個(gè)過(guò)程。如果定義一個(gè)集合A , A={1,2,…,N} 。則交織器可以定義為一個(gè)一一對(duì)應(yīng)的映射函數(shù)π(A-->A):J=π(i),(i,j屬于A) 這里的i ,j 分別是未交織序列C 和交織序列C' 中的元素標(biāo)號(hào)。映射函數(shù)可以表示為πN = (π(1),π(2),π(3),…,π(N)) 。其原理如圖
Turbo碼 在交織器的設(shè)計(jì)中,基本上是遵循下列原則:
1)最大程度的置亂原來(lái)的數(shù)據(jù)排列順序,避免置換前相距較近的數(shù)據(jù)在置換后仍然相距較近,特別是要避免相鄰的數(shù)據(jù)在置換后仍然相鄰。
Turbo碼 2) 盡量提高最小碼重碼字的重量和減小低碼重碼字的數(shù)量。
3) 盡可能避免與同一信息位直接相關(guān)的兩個(gè)分量編碼器中的校驗(yàn)位均被刪除;
4) 對(duì)于不歸零的編碼器,交織器設(shè)計(jì)時(shí)要避兔出現(xiàn)"尾效應(yīng)" 圖案。
在設(shè)計(jì)交織器時(shí),應(yīng)考慮具體應(yīng)用系統(tǒng)的數(shù)據(jù)的大小,使交織深度在滿足時(shí)延要求的前提下,與數(shù)據(jù)大小一致,或是數(shù)據(jù)幀長(zhǎng)度的整數(shù)倍。
交織器和分量碼的結(jié)合可以確保Turbo碼編碼輸出碼字都具有較高的漢明重量。在Turbo編碼器中交織器的作用是將信息序列中的比特順序重置。當(dāng)信息序列經(jīng)過(guò)第一個(gè)分量編碼器后輸出的碼字重量較低時(shí),交織器可以使交織后的信息序列經(jīng)過(guò)第二個(gè)分量編碼器編碼后以很大的概率輸出較高重碼字,從而提高碼字的漢明重量:同時(shí)好的交織器還可以奇效地降低校驗(yàn)序列間的相關(guān)性。因此,交織器設(shè)計(jì)的好壞在很大程度上影響著Turbo碼的性能。
交織器的類型可以分為兩大類,一是規(guī)則交織器,也稱確定性交織器,其交織器的映射函數(shù)可以由一個(gè)確定的解析函數(shù)給出。二是隨機(jī)交織器,其映射函數(shù)不能由-個(gè)確定的解析表達(dá)式給出。
Turbo 碼常用的交織器包括以下幾種:分組交織器、隨機(jī)交織器、s-隨機(jī)交織器等等。
3. 刪余技術(shù)
對(duì)于數(shù)字通信領(lǐng)域日益緊張的帶寬資源,提高碼率就意味著節(jié)省帶寬和降低通信費(fèi)用。刪余(Puncturing)是目前提高Turbo碼碼率的主要方法。
Turbo 碼中,刪余器通常比較簡(jiǎn)單,因?yàn)樵谝话愕膽?yīng)用中,碼率都是在1/2 或者1/3 ,因此即使有刪余器,它一般也只是周期性的從兩個(gè)分量編碼器中選擇校驗(yàn)比特輸出即可。其具體做法是:從兩個(gè)RSC編碼生成的校驗(yàn)序列中周期地刪除一些校驗(yàn)位,然后再與未編碼的信息序列復(fù)用重組成最后的編碼輸出序列,調(diào)制后進(jìn)入信道傳輸。若信息序列為d1 =(C11) ,長(zhǎng)度為N ,那么兩個(gè)RSC分量編碼器的輸出為:
Turbo碼 圖3. 6 所示示為采用了刪余技術(shù)的編碼結(jié)構(gòu),若取RSC1輸出的奇比特和RSC2的偶比特,即采用刪余矩陣P= [ 10,01] , 那么編碼輸出長(zhǎng)度為2N,碼率提高為1/2的序列為Cp.
Turbo碼 兩個(gè)分量碼編碼器的輸出經(jīng)過(guò)刪余得到的序列被稱為奇偶序列,是校驗(yàn)序列。一個(gè)好的刪余算法應(yīng)該符合以下幾點(diǎn)要求:
1) 不能刪除信息位.刪除信息位會(huì)造成較大的信息損失,從而使誤碼率有較大的損失;
2) 刪余應(yīng)該在時(shí)間域上均勻進(jìn)行,刪余同一時(shí)刻所有的比特位會(huì)造成此時(shí)刻信息損失較大,影響誤碼率;
3) 刪余應(yīng)該對(duì)于各分量碼均勻進(jìn)行,從而使信息的損失均勻分布在各分量碼上,避免由于信息損失不均勻?qū)е路至看a譯碼性能下降。
譯碼原理
香農(nóng)信息論告訴我們,最優(yōu)的譯碼算法是概率譯碼算法,也就是最大后驗(yàn)概率算法(MAP)。但在Turbo碼出現(xiàn)之前,信道編碼使用的概率譯碼算法是最大似然算法(ML)。ML算法是MAP算法的簡(jiǎn)化,即假設(shè)信源符號(hào)等概率出現(xiàn),因此是次優(yōu)的譯碼算法。Turbo碼的譯碼算法采用了MAP算法,在譯碼的結(jié)構(gòu)上又做了改進(jìn),再次引入反饋的概念,取得了性能和復(fù)雜度之間的折衷。同時(shí),Turbo 碼的譯碼采用的是法代譯碼,這與經(jīng)典的代數(shù)譯碼是完全不同的。
Turbo 碼的譯碼算法是最早在BCJR 算法的基礎(chǔ)上改進(jìn)的,我們稱以MAP算法,后來(lái)又形成Log-MAP算法、Max-Log-MAP以及軟輸入軟輸出(SOVA)算法。
Turbo碼 Turbo 碼的譯碼結(jié)構(gòu)圖
1.Turbo 碼的譯碼結(jié)構(gòu)如圖所示. Turbo 譯碼器有以下的特點(diǎn):
1) 串行級(jí)聯(lián)
2) 迭代譯碼
3) 在迭代譯碼過(guò)程中交換的是外部信息
2. 概率譯碼譯碼原理及結(jié)構(gòu)
譯碼時(shí)首先對(duì)接收信息進(jìn)行處理,兩個(gè)成員譯碼器之間外部信息的傳遞就形成了一個(gè)循環(huán)迭代的結(jié)構(gòu)。由于外部信息的作用,一定信噪比下的誤比特率將隨著循環(huán)次數(shù)的增加而降低。但同時(shí)外部信息與接受序列間的相關(guān)性也隨著譯碼次數(shù)的增加而逐漸增加,外部信息所提供的糾錯(cuò)能力也隨之減弱,在一定的循環(huán)次數(shù)之后,譯碼性能將不再提高。
譯碼算法
如前所述,turbo碼需要一種軟輸入軟輸出的譯碼算法。軟輸出譯碼器的輸出不僅應(yīng)包含硬判決值,而且包括做出這種判斷的可信程度。
Turbo碼 譯碼算法應(yīng)該考慮到三方面的問(wèn)題,及外信息的引入;如何在迭代譯碼中充分利用各類信息,防止簡(jiǎn)單正反饋的形成,確保算法收斂;充分利用碼原件的相關(guān)信息。常見(jiàn)的算法有一下幾種:
1. 標(biāo)準(zhǔn)MAP算法
是對(duì)bahl軟輸出算法做一定修正后,通過(guò)除以先驗(yàn)分布來(lái)消除正反饋的算法。對(duì)于約束長(zhǎng)度為M 1的卷積碼,其運(yùn)算量為每比特6x3^M次乘法和5x2^M次加法。由于乘法運(yùn)算量大,限制了譯碼的規(guī)模和速度。
2. Log-MAP算法
實(shí)際上就是對(duì)標(biāo)準(zhǔn)MAP算法中的似然全部用對(duì)數(shù)似然度來(lái)表示,這樣,乘法運(yùn)算變成了加法運(yùn)算??偟倪\(yùn)算量成為6x2^M次加法,5x2^M次求最大運(yùn)算和5x2^M次查表。
3. Max-Log-MAP算法
是在上述對(duì)數(shù)域的算法中,將似然值加法表示式中的對(duì)數(shù)分量忽略,是似然加法完全變成求最大值運(yùn)算,這樣除了省去大部分的加法運(yùn)算外,最大的好處是省去了對(duì)信噪比的估計(jì),使得算法更穩(wěn)健。
4. 軟輸出維特比譯碼(SOVA)
其運(yùn)算量為標(biāo)準(zhǔn)維特比算法的兩倍。維特比算法是最大似然序列估計(jì)算法,但由于在它的每一步都要?jiǎng)h除
Turbo碼一些低似然路徑,為每一狀態(tài)只保留一條最優(yōu)路徑,它無(wú)法提供軟輸出。為了給他輸出的每個(gè)比特賦予一個(gè)可信度,需要在刪除低似然路徑是做一些修正,以保留必要的信息。其基本思想是利用最優(yōu)留存路徑和被刪路徑的度量差,這個(gè)差越小意味著這次算去的可靠性越好。然后用這個(gè)差去修正這條路徑上各個(gè)比特的可信度。
性能仿真比較
目前Turbo 碼的大部分研究致力于在獲得次優(yōu)性能的情況下減小譯碼復(fù)雜度和時(shí)延,從而得到可實(shí)現(xiàn)的Turbo碼系統(tǒng)。
1. 幾種主要譯碼算法的性能比較
Turbo碼 譯碼算法對(duì)Turbo碼的影晌
對(duì)MAP算法、Log-MAP算法、Max-Log-MAP算法和SOVA算法在加性高斯白噪聲信道(AWGN)環(huán)境下進(jìn)行仿真比較,系統(tǒng)采用的是BPSK調(diào)制方式,Turbo 碼的交織長(zhǎng)度是1024 , RSC子碼的生成多項(xiàng)式為(37,21) ,系統(tǒng)編碼率為R=1/2,譯碼時(shí)迭代5次,結(jié)果以曲線圖給出如圖。 仿真結(jié)果表明,四種算法中,MAP算法性能最好,Log-MAP 算法的性能跟MAP 算法在較低的SNRq時(shí)比較接近, 高信噪比時(shí)差別則較大。Max-Log-MAP算法和SOVA算法的性能十分接近,一般情況下,Max-Log-MAP算法的性能,總是稍優(yōu)于SOVA算法。它們跟MAP和Log-MAP相比,性能下降十分明顯。從算法復(fù)雜度而言,MAP算法最為復(fù)雜,Log-MAP 其次,之后是Max- Log-MAP ,SOYA算法最簡(jiǎn)單。由此可以看出,性能優(yōu)異的Turbo碼譯碼算法十分復(fù)雜,如果要使得譯碼容易實(shí)現(xiàn)而對(duì)算法進(jìn)行簡(jiǎn)化或者是采用簡(jiǎn)單的算法,往往需以性能的降低為代價(jià)。
2. 不同迭代次數(shù)對(duì)Turbo 碼性能的影響
迭代次數(shù)對(duì)Turbo碼的影響
Turbo碼 左圖給出了在不同解碼迭代次數(shù)下,碼率為1/ 2的Turbo碼的BER與Eb/N0的關(guān)系曲線。Turbo 碼的交織長(zhǎng)度是1024 ,RSC 子碼的生成多項(xiàng)式為(37,21) ,系統(tǒng)編碼率為R=1/2。如Turbo碼譯碼原理中所述,兩個(gè)譯碼器之間互相交外部信息進(jìn)行迭代。
Turbo碼可以得到,迭代譯碼次數(shù)增大,譯碼性能增加。在第一次迭代的誤比特性能都比較差,這是因?yàn)閮蓚€(gè)分量譯碼器之間的信息還沒(méi)有被很好的相互利用。隨著迭代次數(shù)的增加,兩個(gè)分量譯碼器之間的外信息被更好的利用,對(duì)信息比特的估計(jì)更接近最大似然比,判決輸出的正確性就越高。迭代次數(shù)達(dá)到一定數(shù)值時(shí),譯碼性能趨于穩(wěn)定,再增加新的迭代對(duì)性能的改善非常小。迭代增加了譯碼時(shí)延,在大幀編碼時(shí)尤其如此。仿真中迭代次數(shù)增大時(shí)運(yùn)行時(shí)間顯著增加。
由于達(dá)到一定迭代次數(shù)后,新增加的迭代對(duì)性能改善不大,而法代又極大地增加譯碼時(shí)延,所以在實(shí)際設(shè)計(jì)Turbo碼系統(tǒng)時(shí),需要選擇適當(dāng)?shù)牡螖?shù),在允許的譯碼時(shí)延內(nèi),達(dá)到最佳的譯碼性能。這種預(yù)先規(guī)定迭代次數(shù)的方式是終止譯碼迭代次數(shù)的方法之一.當(dāng)要求的信噪比比較大,誤碼率要求不太高的情況,往往經(jīng)過(guò)很少的幾次迭代就能達(dá)到譯碼要求正確譯碼。此時(shí),如果預(yù)設(shè)迭代次數(shù)比較大,那么譯碼器會(huì)繼續(xù)譯碼,一直進(jìn)行到預(yù)設(shè)次數(shù)的迭代為止.后邊的幾次送代并沒(méi)有明顯地提高性能,是完全不必要的,而且多余的法代食給譯碼帶來(lái)了額外的時(shí)延。
3. 不同編碼約束度K 對(duì)Turbo 碼性能的影響
不同的約束度對(duì)Turbo 碼性能的影響
采用不同子碼的Turbo碼的性能也有很大差別。Turbo 碼的設(shè)計(jì)中首先就是選擇好的RSC子碼。這里只對(duì)幾種常用的、較好的采用不同約束長(zhǎng)度的RSC 做子碼的Turbo 碼進(jìn)行仿真,以分析約束長(zhǎng)度對(duì)Turbo 碼性能的影響??梢钥闯?,隨著約束長(zhǎng)度K增大,編碼后的碼元與更多個(gè)信息比特相關(guān),因此譯碼糾錯(cuò)能力越強(qiáng)誤比特率HER就越小.當(dāng)BER<10-2e 時(shí),增加卷積碼的約束度將會(huì)改善Turbo 碼HER性能。在交織器長(zhǎng)度和碼率一定時(shí),約束度越大,Turbo 碼的HER 性能越好。
在3G中的應(yīng)用
信道編碼技術(shù)可改善數(shù)字信息在傳輸過(guò)程中噪聲和干擾造成的誤差,提高系統(tǒng)可靠性。因而挺供高效的信道編譯碼技術(shù)成為3G移動(dòng)通信系統(tǒng)中的關(guān)鍵技術(shù)之一。3G移動(dòng)通信系統(tǒng)所提供的業(yè)務(wù)種類的多樣性、靈活性,對(duì)差錯(cuò)控制編譯碼提出了更高的要求。WCDMA 和cdma2000方案都建議采用除與IS-95 CDMA系統(tǒng)類似的卷積編碼技術(shù)和交織技術(shù)之外,采用Turbo編碼技術(shù)。
1. RSC 編碼器的設(shè)計(jì)
cdma2000 方案中,Turbo 碼被用在CDMA系統(tǒng)前向、反向鏈路信道中。反向鏈路信道中,子編碼器(3,1,3)RSC 的生成矩陣為:
Turbo碼
RSC編碼器基于8狀態(tài)的并行級(jí)聯(lián)卷積碼(8PCCC)。交織采用了比特翻轉(zhuǎn)技術(shù)。通過(guò)刪余處理,碼率為1/4,1/2,1/3的Turbo碼被采用。分別對(duì)兩個(gè)子編碼器的輸出奇偶位V2和V2‘交替刪余,可得到碼率為1/4的Turbo碼;對(duì)V1,V1' 刪余,可得碼率為1/3;對(duì)V2、V2’間隔幾V1,V1‘刪余,可得碼率1/2。
WCDMA中,對(duì)于收務(wù)服務(wù)質(zhì)量需求BER介于10-3e和10-6e之間。并且允許時(shí)延較長(zhǎng)的數(shù)據(jù)業(yè)務(wù),RSC子編碼器使用8態(tài)并行級(jí)聯(lián)卷積碼8-PCCι 。生成矩陣為:
WCDMA中的turbo編碼器
2. 交織長(zhǎng)度的選擇
在3G移動(dòng)通信中,業(yè)務(wù)速率由32kbit/s到2Mbit/s。10ms一幀,幀長(zhǎng)由20 到20000 。為了提高譯碼器性能,在一些低速業(yè)務(wù)中,可采用多幀組成一個(gè)數(shù)據(jù)塊,加大交織深度。
在WCDMA中,Turbo 碼交織器是可截短型塊交織器。交織行數(shù)為5、10或20行,在行數(shù)確定的基礎(chǔ)上選擇列數(shù)。數(shù)據(jù)按行讀入交織器,按固定模式進(jìn)行行間轉(zhuǎn)換,不同輸入序列長(zhǎng)度對(duì)應(yīng)不同的行數(shù)和行間轉(zhuǎn)換模式。行轉(zhuǎn)換完成后,近行列轉(zhuǎn)換。不同行對(duì)應(yīng)不同列間轉(zhuǎn)換參數(shù),采取的是接近隨機(jī)化的素?cái)?shù)取模算法。數(shù)據(jù)在完成行列轉(zhuǎn)換后,按列讀出。
cdma2000 也是基于塊交織。交織行數(shù)為25=32行,列數(shù)N=2n,n為滿足使32N大于或等于幀長(zhǎng)度的最小值。數(shù)據(jù)按行讀人。行間轉(zhuǎn)換的依據(jù)是比特翻轉(zhuǎn)原則。列問(wèn)轉(zhuǎn)換的置換公式是:x( i+1) = [x(i) + c] mod N,即為同模取余法,為了更接近隨機(jī)化,使每列的偏置取不同值。數(shù)據(jù)經(jīng)過(guò)行列轉(zhuǎn)換后,按列輸出。
3. 譯碼器的設(shè)計(jì)
由于Turbo碼譯碼算法復(fù)雜,譯碼延時(shí)長(zhǎng),所以對(duì)于時(shí)延要求高的數(shù)據(jù)業(yè)務(wù)應(yīng)用受限。因而低復(fù)雜度譯碼器的設(shè)計(jì)成為Turbo碼譯碼算法設(shè)計(jì)的焦點(diǎn)。為了換取復(fù)雜度的簡(jiǎn)化,允許次優(yōu)性能譯碼的存在。例如3GPP中允許Turbo碼的譯間比標(biāo)準(zhǔn)MAP算法有1dB的增益損失。結(jié)合CRC校驗(yàn)來(lái)減少迭代次數(shù),在SNR 較大時(shí)可以減少譯碼復(fù)雜度和譯碼延時(shí)。
發(fā)展前景
日前Turbo碼的研究尚缺少理論基礎(chǔ)支持,但是在各種惡劣條件下( 即低SNR情況下),提供接近Shannon 極限的通信能力已經(jīng)通過(guò)模擬證明。但Turbo碼也存在著一些急待解決的問(wèn)題,例如譯碼算法的改進(jìn)、復(fù)雜性的降低、譯碼延時(shí)的減小。作為商用3G 移動(dòng)通信系統(tǒng)的關(guān)鍵技術(shù)之一,Turbo 碼也將逐漸獲得較好的理論支持并且得到進(jìn)一步開(kāi)發(fā)和完善。