版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 Turbo碼的編譯碼原理及仿真內(nèi)容摘要:Turbo 碼是巧妙地將兩個簡單分量碼通過偽隨機交織器并行級聯(lián)來構造具有偽隨機特性的長碼,并通過在兩個輸入/輸出(SISO)譯碼器之間進行多次迭代實現(xiàn)了偽隨機譯碼。目前Turbo 碼的大部分研究致力于在獲得次優(yōu)性能的情況下減小譯碼復雜度和時延,從而得到可實現(xiàn)的Turbo碼系統(tǒng)。Turbo碼具有極其廣闊的應用前景,是信道編碼界的一個重大突破,被稱為二十一世紀的糾錯編碼。本文介紹了Turbo 碼的產(chǎn)生背景,研究意義,研究現(xiàn)狀(編譯碼技術、Turbo碼的設計和分析、Turbo碼在CDMA系統(tǒng)中的研究及應用、面向分組的Turbo碼、Turbo碼與其它通信技術的
2、結合),編碼原理、譯碼原理及Turbo碼的性能仿真及設計。 通過對Turbo編譯碼原理的介紹及性能仿真的波形、頻譜圖的結果,本文對系統(tǒng)進行性能分析,并作了進一步的改進和調(diào)試。仿真結果證明了整個設計系統(tǒng)的正確性。由頻譜特性可以看出:Turbo碼不僅能夠有效地抵御加性高斯噪聲,而且具有很強的抗衰落和抗干擾特性??梢钥闯觯琓urbo碼在現(xiàn)代通信中具有較大的優(yōu)越性和重要作用。關鍵詞: turbo碼 編碼 譯碼 仿真 Turbo Code principle And SimulationAbstract: The Turbo code is ingeniously two simple componen
3、t code by pseudo random interleaver parallel cascade constructs has random characteristic of long code, and through the two input / output ( SISO ) decoder between iteration realized pseudorandom decoding. At present, most of research devoted to the Turbo code in obtaining suboptimal performance in
4、the absence of reducing decoding complexity and delay, thus can realize Turbo code system. Turbo code has extremely broad application prospect, is the channel coding community a major breakthrough, known as the twenty-first Century error correction coding.This paper introduces the Turbo code generat
5、ion background, research significance, research status ( compiled code technology, design of Turbo code and Turbo code analysis, in the CDMA system research and application, a packet-oriented Turbo code, Turbo code and other communications technologies ), encoding, decoding principle of principle an
6、d performance simulation of Turbo codes and design.Based on the Turbo compiler code principle introduction and performance simulation waveform, the result of spectrum, the system performance analysis, and made a further improvement and debugging. The simulation results prove that the design scheme i
7、s correct. The spectral character can see: Turbo code can not only effectively against the Gauss noise, but also has strong resistance to fading and interference properties. As can be seen, the Turbo code in modern communication has more advantages and important role.Keywords: the turbo code encodin
8、g decoding simulation目 錄前言11緒論21.1 Turbo碼的研究背景及發(fā)展21.2 本文的論文結構安排42 TURBO碼的編碼原理42.1 Turbo碼的編碼器的組成52.2 Turbo碼的刪余矩陣62.3 Turbo碼的交織器72.4 本章小結93 TURBO碼的譯碼原理93.1 Turbo碼的譯碼結構93.2 Turbo碼的LOG-MAP算法113.3 SOVA 譯碼算法133.4 各種譯碼算法的比較143.5 本章小結154 TURBO碼的性能仿真及設計154.1 Turbo碼仿真系統(tǒng)的實現(xiàn)154.2 Turbo碼的仿真結果及分析194.2.1 不同碼率對Turb
9、o碼的性能影響194.2.2 不同譯碼算法對Turbo 碼的性能影響194.2.3 迭代次數(shù)204.2.4 交織長度214.3 本章小結225 結束語22參考文獻24Turbo碼的編譯碼原理及仿真前言 隨著社會、經(jīng)濟的快速發(fā)展,Turbo碼的應用越來越廣泛。Turbo碼是一類全新的糾錯碼,是一種新穎的信道編碼方法,具有目前任何其它信道編碼技術無法比擬的誤比特性能。因Turbo碼編碼思想的新穎及其碼性能的優(yōu)越,自提出之日起就成為通信界關注的焦點。Turbo碼在編碼時使用并行級聯(lián)卷積碼的遞歸編碼器結構,引入交織器對進入分量編碼器的信息序列進行隨機交織,從而獲得了近似長碼的編碼輸出;譯碼時使用軟輸入
10、軟輸出譯碼器進行遞歸迭代譯碼【2】。在編碼器設計方面,決定Turbo碼性能的關鍵因素是分量碼和交織器設計的好壞,分量碼的不同級聯(lián)方式也對Turbo碼性能有一定影響,在實際應用中為提高通信效率,可通過刪除部分校驗比特來提高編碼效率,而不同的刪除方式對碼性能會產(chǎn)生不同的影響,因此許多文獻對分量器、交織器、刪除和級聯(lián)方式的設計進行了討論。在理論研究之初,由于發(fā)明者在首篇論文中僅給出了Turbo碼的基本組成和迭代編譯碼原理,沒有給出嚴格的理論解釋和證明,因此在Turbo碼提出之初,對其基本理論的研究就被放在了首位。大量文獻對其編譯碼的基本原理、冊肚能都做了理論得研究和分析。在編碼器的設計方面,確定了T
11、urbo碼性能的關鍵因素是分量碼和交織器設計的好壞,分量碼的不同級聯(lián)方式對碼性能有很大影響,另外在實際應用中為提高通信效率,可通過刪除部分校驗比特來提高編碼效率,而不同的刪除方式對碼性能也會產(chǎn)生不同的影響,因此許多文獻對分量器、交織器、刪除和級聯(lián)方式的設計進行了討論。隨著社會節(jié)奏的不斷加快,產(chǎn)品的更新速度也必須越來越快,對仿真軟件的引入對系統(tǒng)進行仿真已經(jīng)是必不可少。仿真既可通過仿真軟件,也可利用高級語言編程來實現(xiàn)。利用軟件包,建模十分方便,可大大節(jié)省編程時間,甚至有些地方還可省去編程過程。其中,MATLAB是最有影響力、最有活力的軟件之一,在科學運算、自動控制、通信仿真等領域有著廣泛的應用。目
12、前已有一些研究可作為定性的參考,但大多數(shù)都只針對系統(tǒng)中的某一模塊進行仿真。本文利用MATLAB對Turbo系統(tǒng)進行性能的仿真,建立的系統(tǒng)仿真模型,能夠方便、快捷、形象的描繪Turbo碼的工作原理及過程;通過結果分析出各模塊的特點,并能方便的指出了在仿真建模中要注重的問題。結果用于說明通信理論與整個系統(tǒng)設計的正確性,對大家進一步研究相關理論起著積極的作用和意義,同時能夠在模擬系統(tǒng)過程中找出其缺點與不足,進而加以研究糾正,以便讓其更好的應用到實際中。1 緒論1.1 Turbo碼的研究背景及發(fā)展目前,由于技術的發(fā)展、客戶的需求、市場的競爭等多方面因素,對Turbo碼要求越來越高,Turbo碼是一種極
13、為復雜的信道編碼技術,譯碼算法往往由于硬件實現(xiàn)的復雜度太高或者譯碼時延太長而難以實現(xiàn)。本文使用軟件構造Turbo碼系統(tǒng),使使用不同的譯碼算法對Turbo碼性能產(chǎn)生影響的各個參數(shù)及相關問題進行了較全面和細致的仿真實驗,驗證了Turbo碼理論中各種因素對譯碼性能的影響,同時為Turbo碼的設計提供了參考依據(jù)?,F(xiàn)目前Turbo碼領域面臨的主要問題是:在復雜度和時延都可以接受的前提下如何獲得最佳的系統(tǒng)性能。本文所做的就是仿真Turbo碼的研究和實際應用之間的過渡性工作,一方面對Turbo碼理論問題進行相關的驗證,一方面對具有可能實現(xiàn)的Turbo碼設計具有一定的指導作用。從對Shannon信道編碼定理的
14、分析中可以得出,Shannon在對定理的證明中引用了三個基本條件【5】:(a)采用隨機編碼、譯碼方式;(b)譯碼采用最大似然譯碼算法;(c)編譯碼長度L無窮,即碼長無限。也就是說在信道傳輸速率不超過信道容量的計算前提,只有當代碼長度無限長的代碼集的隨機選擇的編碼碼字和在接收端采用最大似然譯碼算法,可使誤差接近零利率。然而,最大似然譯碼復雜度作為一個功能的編碼長度指數(shù)增加,當代碼長度趨于無窮大,最大似然譯碼是不可能的。因此,構造物理可實現(xiàn)的編碼方案,并尋求有效的譯碼算法是信道編碼理論與技術研究中心的任務。維特比提出了卷積碼的一種最大似然譯碼算法沒有控制,從理論和實際應用的發(fā)展,促進了卷積碼。愛瑞
15、斯提出了一個卷積碼克服的固有缺陷,塊碼,由于其編碼過程不斷進行,在編碼過程中,充分利用前、后位相關,因此性能優(yōu)于相同的編碼效率的分組碼,并以同樣的速度和相似的卷積碼的糾錯能力,實現(xiàn)代碼簡單的分數(shù)。Turbo碼自提出之日起就成為信息論與編碼理論界熱切關注的焦點,人們對Turbo碼的研究相繼取得了一系列成果。下面對Turbo碼的發(fā)展和研究現(xiàn)狀進行簡單歸納。 (a)Turbo碼的理論分析 在Turbo碼提出之初,由于在Turbo碼中交織器的出現(xiàn),使其性能分析異常困難,因此SBenedeao等人提出了均勻交織(UI,Uniform Intefleaver)的概念,并利用聯(lián)合界技術給出了Turbo碼的平
16、均性能上界。Divsalar等人也根據(jù)卷積碼的轉移函數(shù),給出了Turbo碼采用MLD時的誤比特率上科,其基本理論的研究顯得尤為重要。JHagenauer首先系統(tǒng)地闡明了迭代譯碼的原理,并推導了二進制分組碼和卷積碼的軟輸入軟輸出譯碼算法。對于Turbo碼來說,標準聯(lián)合界在信噪比較小時比較寬松,只有在信噪比較大時才能實現(xiàn)對Turbo碼性能的度量。因此,TMDu,mRtl、ISason等人在Gallager限等已有性能界技術的基礎上進行改進,擴展了Turbo碼性能界的范圍。DDivsalar等人還根據(jù)遞歸系統(tǒng)卷積碼的特點提出了有效自由距離的概念,并說明在設計Turb0碼時應該使碼字有效自由距離盡可能
17、大。LCPerez等人從距離譜的角度對Turbo碼的性能進行了分析,證明可以通過增加交織長度或采用本原反饋多項式增加分量碼的自由距離來提高Turbo碼的性能。(b)Turbo碼的設計Turbo碼由分量碼經(jīng)由交織器級聯(lián)而成。因此,分量碼和交織器設計的好壞是決定Turbo碼性能的關鍵因素。SBenedetto分析了分別采用遞歸與非遞歸卷積碼作為分量碼時Turbo碼的性能,說明分量碼應采用遞歸結構,并使重量為2的信息序列生成碼字的最小重量最大化。實際的通信系統(tǒng)中,為提高系統(tǒng)帶寬效率,一種方法是通過刪減部分校驗比特來提高編碼速率,稱為刪余。 對于卷積分量碼來說,信息序列編碼結束時的編碼寄存狀態(tài)通常是不
18、確定的,由于交織器的存在,通過嵌入與編碼約束長度相同的尾隨比特一般無法使兩個分量編碼器同時歸零,編碼器結束狀態(tài)未知會使下一幀數(shù)據(jù)編碼的初始狀態(tài)未知,從而影響Turbo譯碼的性能。(c)軟輸出迭代譯碼算法 Turbo碼的編碼過程實際上是一個利用強約束短碼構造偽隨機長碼的過程。Turbo碼的譯碼算法主要有兩大類。是基于最大后驗概率(MAP,MaximumAPosteriod)的軟輸出算法,主要包括標準MAP算法、對數(shù)域上的LogMAP算法和MaxLogMAP算法、修正的MAP算法(M-MAP)、滑動窗MAP(SwMAP)算法和只有前向遞推的MAP算法(OSA)。其中LogMMAP算法則是在MAP算
19、法基礎上通過減少格圖搜索狀態(tài)達到簡化的目的。MAP算法是MAP算法的對數(shù)形式,它通過將大量的乘法運算轉化為加法運算來簡化算法的復雜性。通過對Log-MAP算法中分支路徑度量計算的簡化,就得到了MaxLog-MAP算法。 (d)迭代譯碼流程 Turbo碼的最大特點是采用了迭代譯碼。TRichardson從理論上對迭代譯碼過程進行了分析。Sten Brink利用分量譯碼器輸出外部信息和輸入采樣的互信息定義了外部信息轉移(ET,Exirinsie Information Transfer)圖,并利用EXIT圖實現(xiàn)對迭代譯碼過程的跟蹤,從而估計迭代譯碼的收斂性。利用EXIT圖還可以預測實現(xiàn)一定性能要求
20、時所必須的迭代譯碼次數(shù)。它為分析迭代譯碼過程和迭代譯碼方案的設計提供了有力的工具。(e)Turbo編碼調(diào)制技術 利用TCM技術可以在不增加系統(tǒng)帶寬要求的條件下有效地提高編碼增益。很自然的想法是將Tl曲0碼與TCM相結合起來實現(xiàn)高增益高頻譜效率的編碼調(diào)制方案,這種方案稱為T-TCM。(f)Turbo原理的應用CSchurgers研究了通過自適應調(diào)整迭代次數(shù)實現(xiàn)室內(nèi)無線環(huán)境下Turbo迭代譯碼的方案。TKeller和JEWoodard等人考察了基于Turbo碼的并行Modem在個人通信中的應用問題。由于n曲0碼具有接近Shannon理論極限的性能,尤其是低信噪比下的優(yōu)異性能使Turbo碼在許多通信
21、系統(tǒng)中都有非常大的應用潛力。除了在深空通信、衛(wèi)星通信以及多媒體通信等領域的應用以外,Turbo碼在無線移動通信系統(tǒng)中的應用是目前的研究熱點。目前,Turbo碼已經(jīng)成為第三代移動通信系統(tǒng)的標準之一,有關其關鍵技術的標準化也已經(jīng)出,同樣Turbo碼在文本傳輸和數(shù)據(jù)存儲等方面也有應用。(g)Turbo譯碼器的實現(xiàn) 南澳大利亞大學Small Wjdd通信研究組最先開始開發(fā)Turbo編譯碼器并推出了Turbo碼產(chǎn)品。AChass、DGarrett和KKoora等人也分別在不同的數(shù)字芯片上設計實現(xiàn)了Max-LogMAP算法和SOVA算法。高速數(shù)據(jù)傳輸和實時通信要求系統(tǒng)處理速度要快,同時移動通信終端又有低功
22、耗要求,在Turbo編譯碼器的設計過程中,最主要的是考慮數(shù)據(jù)處理速度和功耗。目前已有的DSP和ASIC芯片及其不斷發(fā)展為提高Turbo編譯碼器的處理速度提供了條件譯碼器功耗,一個辦法是減小平均譯碼迭代次數(shù),根據(jù)每一幀數(shù)據(jù)的迭代次數(shù)和信噪比值來動態(tài)分配電壓,同時在允許的延時范圍內(nèi)使譯碼速度放慢。此外,還應該盡可能減少對片外存儲器數(shù)據(jù)的訪問,用來降低功耗和提高數(shù)據(jù)讀寫速度。1.2 本文的論文結構安排本文對Turbo碼的基本原理,編譯碼技術和仿真實現(xiàn)進行了詳細的介紹,具體內(nèi)容如下:a) 簡單介紹了Turbo碼的產(chǎn)生背景,研究意義,研究現(xiàn)狀。b) 介紹了Turbo碼的編碼器主要組成,刪除單元和交織器的
23、工作原理。c) 介紹了Turbo碼譯碼結構和相關算法。d) 介紹了TURBO碼的性能仿真及設計e) 對本文的總結與展望 2 Turbo碼的編碼原理2.1 Turbo碼的編碼器的組成Turbo碼由2個循環(huán)系統(tǒng)卷積碼并行級聯(lián)而成:譯碼采用迭代的串行譯碼交織器是Turbo 碼所特有的,它可以使得信息序列隨機化,增加各碼字間的重量,從而提高碼的保護能力 。下面就Turbo碼編碼原理 、交織器的選擇和譯碼原理進行討論:Turbo碼的典型編碼器如圖2-1所示,Turbo碼編碼器主要由分量刪余矩陣、交織器、編碼器以及復接器組成。分量碼一般選擇為遞歸系統(tǒng)卷積(RSC,Recursive Systematic
24、Convolutional)碼,當然也可以是分組碼(BC, Block Code)、非遞歸卷積(NRC,Non-Recursive Convolutional)碼以及非系統(tǒng)卷積(NSC,Non-Systematic Convolutional)碼,但從后面的分析將看到,分量碼的最佳選擇是遞歸系統(tǒng)卷積碼。通常兩個分量碼采用相同的生成矩陣,當然分量碼也可以是不同的。刪余矩陣交織器分量編碼器1分量編碼器2復接圖2.1-1 Turbo碼的編碼器結構分量編碼器是Turbo碼編碼器中的一個重要組成部分。雖然從原則上講,任何系統(tǒng)碼都可作為分量碼,但是由于卷積碼可以采用最大后驗概率(MAP)判決算法進行譯碼,
25、從而能夠分別實現(xiàn)對Turbo碼各編碼單元的最優(yōu)迭代譯碼,所以通常采用遞歸系統(tǒng)卷積碼(RSC)來實現(xiàn)。另一方面,Turbo碼的發(fā)明者之一PTlli6mashima研究了遞歸系統(tǒng)卷積碼和非遞歸卷積碼的差錯系數(shù)并進行了比較。研究表明:在信噪比較低時,遞歸系統(tǒng)卷積碼的性能要比非遞歸卷積碼的性能好。當信噪比較大時,非遞歸卷積碼的誤比特率性能要比遞歸系統(tǒng)卷積碼的誤比特率性能稍好。而Turbo碼主要低信噪比條件下具有性能優(yōu)勢,因此這是選擇遞歸系統(tǒng)卷積碼作為Turbo碼分量碼的一個重要原因。Tubro碼之所以利用RSC編碼,因為循環(huán)編碼器可以改善碼的比特誤碼率性能。非循環(huán)卷積碼編碼器狀態(tài)轉移循環(huán)編碼后,其狀態(tài)
26、圖變?yōu)閳D個狀態(tài)轉移圖非常相似,它們具有相同的生成矩陣、最小自由距離和網(wǎng)格結構;但是,循環(huán)編碼后輸出碼字的重量增加了,從而提高了比特誤碼率性能。卷積碼編碼器是通過在輸入信息序列后加入m( 編碼約束長度)個“0”就可以使編碼狀態(tài)回到全“0” 狀態(tài),使網(wǎng)格終止,但對于RSC 編碼器,由于有反饋,RSC編碼器的狀態(tài)很難確定,加“0” 的策略不能達到網(wǎng)格終止的目的;而且,在編碼器回到了全“0” 狀態(tài),由于加入了交織器 ,編碼器卻不一定回到全“0” 狀態(tài),所以需要尋求別的辦法來終止網(wǎng)格。最簡單的方法就是在輸入端設置開關電路來實現(xiàn)網(wǎng)格的終止。另一種方法就是初始狀態(tài)為全“0”在RSC編碼器的信息序列后加入m
27、個“0”比特,使其狀態(tài)回到全“0”從而使網(wǎng)格終止,而編碼器不終止,處于開放狀態(tài),可以在任何狀態(tài)停止編碼。 2.2 Turbo碼的刪余矩陣Turbo 碼的刪余就是通過刪除冗余的校驗位來調(diào)節(jié)碼率。Turbo碼采用兩個成員編器,產(chǎn)生的冗余比特比一般情況多一倍,這在很多場合下并不需要,但又不能排斥任何一個編碼器,折衷的辦法就是按一定規(guī)律輪流選用兩個編碼器的校驗比特。例如,采用兩個1/2成員編碼器時,如果不刪余,信息位加兩個編碼器的校驗位將產(chǎn)生1/3的碼流,但如果令編碼器1的校驗流乘以一個刪余矩陣,令編碼器2的校驗流乘以刪余矩陣P及可,其中1代表傳輸此比特,0表示不傳輸,這樣就產(chǎn)生了在編碼器1和2之間輪
28、流取值的效果。一般情況下,設兩個編碼器的校驗位生成矩陣為q和q,m和m為交織前后的N位信息位流,則m和q分別為lxN的校驗位矢量;刪余矩陣P為Nx2矩陣,其中和均為Nxl的列矢量,由0或1值組成,分別表示對兩個編碼器校驗位的選擇情況,1表示該編碼比特作為輸出比特傳輸?shù)綄Χ耍?表示該編碼比特不進行傳輸。借助刪余可以用較簡單的編譯碼器(如1/2卷積碼)實現(xiàn)較高碼率(如6/7碼率)的編、譯碼。比如,在1/2卷積碼的網(wǎng)格上,從每一狀態(tài)出發(fā)或到達每一狀態(tài)僅有兩條路徑,而直接使用6/7卷積碼從一個狀態(tài)出發(fā)或到達一個狀態(tài)存在2“二64條路徑。通常,R=kln的卷積碼譯碼時每一狀態(tài)需要進行2k次路徑比較,如果
29、用1/2編碼器產(chǎn)生6/12碼,再通過刪余產(chǎn)生6/7碼,譯碼時仍使用1/2的譯碼器,比直接使用6/7的譯碼器要容易實現(xiàn)。使用兩個 RSC 分量碼進行編碼的 Turbo 碼的碼率為 1/3。信道的帶寬通常是有限的,提高有限帶寬的利用率成為需要解決的重要問題。為了提高Turbo 碼的碼率,可以對Turbo 碼采用刪余技術。Turbo 碼的刪余技術是指從兩個RSC 分量編碼器生成的校驗序列中按照一定規(guī)則周期地刪除一些校驗位比特,然后將得到的校驗序列與輸入的信息序列通過并串轉換組成編碼輸出序列。經(jīng)過Turbo 編碼后得到的編碼輸出序列的長度為3N,其中包括由兩個RSC 分量碼編碼器輸出的長度為2N 的校
30、驗比特序列,編碼后的碼率為1/3。通過刪余可以將碼率提高到1/2,刪余矩陣p 為: (2.2-1) 刪余矩陣p 意義為:橫坐標表示由第幾個分量編碼器輸出,縱坐標表示校驗序列的奇偶位(1 表示該位不刪余,0 表示該位刪余),該矩陣表示刪余校驗序列Y1 = y1k的偶數(shù)位和校驗Y2 = y2k 的奇數(shù)位。將得到的校驗序列與信息序列 U k = u 復接后得到的輸出序列為: (2.2-2)碼率變?yōu)?/2。圖2.2-1 是矩陣p 的刪余示意圖,陰影的部分是經(jīng)過打孔去掉的刪余比特。圖 2.2-1 刪余示意圖2.3 Turbo碼的交織器 交織器的作用是改變信息結構將傳輸過程中出現(xiàn)的突發(fā)錯誤進行的分散化和不
31、規(guī)則化。碼字的重量分布決定了Turbo 碼的糾錯譯碼性能 。交織器可以改變Turbo 碼的重量分布,因此,交織器對Turbo 碼性能的好壞有著重要作用 。 在Turbo 碼中,交織器使輸入碼元符號的順序盡可能隨機分布,使碼元符號之間的相關性減弱,從而使進入各個子譯碼器的信息序列之間不相關。這使得各個子譯碼器彼此獨立的工作,互相利用軟判決信息,判決結果也因此逐漸準確。 但是,同樣由于Turbo 碼是以幀的形式編碼,交織器的存在使得Turbo 碼存在時延,幀越長,時延越大。所以,只有允許較大時延的系統(tǒng),才可以充分發(fā)揮Turbo碼的作用。圖2.2-2 簡單分組交織器線性碼的糾錯譯碼性能實質(zhì)上是由碼字
32、的重量分布決定的,Turbo碼也是線性碼,所以其性能也是由碼字重量分布決定的,由于交織器實際上決定了Turbo碼的重量分布。交織器是Turbo碼編碼器主要的組成部分,也是Turbo碼的重要特征之一。所以,給定了卷積編碼器后,Turbo碼的性能主要是由交織器決定的。因為交織長度大時,兩個子編碼器接收的輸入序列的相關性就可以很低,越有利于譯碼迭代,從而使得迭代結果越精準。在低SNR時,交織器的大小將直接影響著Turbo碼的差錯性能。在高SNR時,是Turbo碼的低重量碼字、最小漢明距離或距離譜決定著它可以達到的BER性能,所以交織器的設計顯著的影響著低重量碼字或距離譜,重量分布是反映糾錯碼性能的重
33、要指標,所謂具有好的重量分布,就是要盡量減少低重量的碼字的數(shù)量。如果沒有交織器的作用,Turbo碼的兩個子編碼器的輸入就相同。若其中一個經(jīng)編碼后產(chǎn)生低重量的碼字,那么該序列在經(jīng)過第二個字編碼器輸出后也會產(chǎn)生低重量的碼字。反之,加入交織器,由于交織器對輸入序列進行了置換,使得數(shù)據(jù)在進入第二個編碼器之前被打亂,也就改變了原來信息的排列方式,所以Turbo碼的兩個子編碼器同時產(chǎn)生低重量輸出的可能性就更小了,也就是說交織器減小了Turbo碼產(chǎn)生低重量碼字的概率,從而可以使Turbo碼有較好的糾錯性能。彼此獨立進行譯碼的結果是軟判決信息可以互相利用,判決結果也因此逐漸準確。從而,使Turbo碼譯碼器的性
34、能遠遠好于其它類型的譯碼器,包括其他類型的級聯(lián)譯碼器。在Turbo碼中,交織器的這種使輸入碼元符號的順序盡可能隨機分布的作用,將使碼元符號之間的相關性減弱,使進入各個子譯碼器的信息序列之間不相關。這種去相關的結果使得各個子譯碼器可以彼此獨立的工作。交織器的長度會對Turbo碼的譯碼性能有很大的影響,交織深度越大,譯碼的誤碼率越低,傳輸質(zhì)量越高。所以,對于那些允許有較大時延的業(yè)務,Turbo碼的作用就可以得到充分的發(fā)揮。但是,對于那些不允許有較大時延的業(yè)務,Turbo碼的應用卻受到限制。2.4 本章小結本章主要研究了 Turbo 碼編碼器的各個組成部分交織器和刪余的作用和構成。其中,交織器重點研
35、究了幾種常用的交織分組交織,隨機交織、卷積交織、分析了它們的交織方法和對Turbo 碼性能的影響。3 Turbo碼的譯碼原理 3.1 Turbo碼的譯碼結構一般情況下,Turbo碼編碼器會使用兩個分量的RSC,編碼輸出通常包含了信息序列(在譯碼端常被稱為系統(tǒng)信息)與兩個分量RSC編碼器輸出的校準信息序列。根據(jù)接收到的觀測序列進行譯碼的時候,根據(jù)編碼結果,把譯碼器分解為兩個獨立的譯碼器DECl和DEC2,分別跟兩個RSC分量編碼器相對應。為了得到對原始信息的最優(yōu)估計,兩個譯碼器分別對系統(tǒng)信息和兩個校驗序列進行譯碼時,應該相互利用校驗序列所含的信息,采用迭代譯碼,通過分量譯碼器之問軟信息的交換來提
36、高譯碼性能,這也是Turbo碼獲得優(yōu)異性能的根本原因之一。 17分量譯碼器1交織器Lc交織器硬判決解交織器分量譯碼器2解交織器圖3.1-1 Turbo碼的譯碼結構以碼率為的Turbo碼為例,編碼輸出信號為 (3.1-1)對于BPSK調(diào)制,輸出信號與編碼碼字 (3.1-2)之間滿足關系 (3.1-3)假定接收信號為 (3.1-4)式中 (3.1-5) (3.1-6)和是服從均值為0,方差為的獨立同分布高斯隨機變量。在接收端,接收采樣經(jīng)過匹配濾波之后得到的接收序列 (3.1-7)經(jīng)過串并轉換后得到如下三序列:系統(tǒng)接收信息序列 (3.1-8)用于DECl的接收校驗序列 (3.1-9)用于DEC2的接
37、收校驗序列 (3.1-10)若其中某些校驗比特在編碼過程中通過刪余矩陣被刪除,則在接收校驗序列的相應位置以“0”填充。上述3個接收序列、和,經(jīng)過信道置信度加權后作為系統(tǒng)信息序列,信息序列和送入譯碼器。對于噪聲服從分布N(0,No2)的AWGN信道來說,信道置信度定義為 (3.1-11)對于第k個被譯比特,Turbo譯碼器中每個分量譯碼器都包括系統(tǒng)信息、校驗信息和先驗信息。其中先驗信息由另一個分量譯碼器生成的外部信息經(jīng)過解交織后的對數(shù)似然比值。譯碼輸出為對數(shù)似然比,其中i=l,2。在迭代過程中,分量譯碼器1的輸出可表示為系統(tǒng)信息、先驗信息和外部信息之和的形式=+ (3.1-12)式中 (3.1-
38、13)為交織映射函數(shù)。在第一次迭代時 (3.1-14)從而 (3.1-15)由于分量譯碼器1生成的外部信息與先驗信息和系統(tǒng)信息無關,故可以在交織后作為分量譯碼器2的先驗信息輸入,從而提高譯碼的準確性。同樣,對于分量譯碼器2,其外部信息為輸出對數(shù)似然比減去系統(tǒng)信息(經(jīng)過交織映射)和先驗信息的結果,即=- (3.1-16)式中= (3.1-17)外部信息解交織后反饋為分量譯碼器1的先驗輸入,完成一輪迭代譯譯碼。隨著迭代次數(shù)的增加,兩個分量譯碼器得到的外部信息值對譯碼性能提高的作用越來越小,在達到一定的迭代次數(shù)后,譯碼性能不再提高。這時根據(jù)分量譯碼器2的輸出對數(shù)似然比經(jīng)過解交織后再進行硬判決即得到譯
39、碼輸出18。3.2 Turbo碼的LOG-MAP算法Log-MAP算法是MAP算法的一種轉換形式,實現(xiàn)要比MAP算法簡單。為推導Log-MAP算法,需要把MAP算法中的變量都轉換為對數(shù)的形式,從而把乘法運算都轉換為加法運算,同時譯碼器的輸入輸出相應地修正為LLR形式,再把得到的算法進行必要的修改就得到了Log-MAP算法。下面推導Log-MAP算法。在Log-MAP算法中,、和與MAP算法中的、和相對應,它們之間滿足對數(shù)關系=ln (3.2-1)=ln (3.2-2)=ln (3.2-3)首先分析對數(shù)路徑度量的計算。在MAP算法的推導中己知,表達式中根據(jù)是否與邊e有關而取值為1或0;概率的取值
40、由信息比特的先驗信息來決定。對于噪聲方差為的AWGN信道忽略常數(shù)項,有 (3.2-4)對于AWGN信道,有 (3.2-5)類似地,有 (3.2-6)得到對數(shù)域上的路徑度量計算式 (3.2-7)注意,式(3.2-7)僅在和之間存在傳遞時成立。盡管第二個分量碼的系統(tǒng)比特序列在編碼過程中沒有傳輸,但它實際上是第一個分量碼的系統(tǒng)比特序列經(jīng)過交織后的比特序列。因為譯碼器的系統(tǒng)輸入是通過對接收信號的系統(tǒng)比特加權得到的,故可以通過對第一個分量碼的進行交織來得到第二個分量碼的;這樣,第一個分量碼和第二個分量碼對于信息比特都有其相應的和。從而在計算前向路徑量度和后向路徑量度時兩個分量譯碼器可以采用相同的計算公式
41、。由于MAP算法中和的遞推運算中存在指數(shù)和計算(由在AWGN信道上的計算引入),所以在Log-MAP算法中引入操作,其定義為 (3.2-8)通??梢詫ι鲜霾僮鬟M行變形,對于兩個變量的情況(x和y),有假定編碼器的起始狀態(tài)和結束狀態(tài)分別為和,則對應于Log-MAP算法,前、后向路徑度量的遞歸計算初值分別為 (3.2-9) (3.2-10)在實際數(shù)值計算時,可以用一個較大的值來代替。如果編碼寄存器在編碼結束時狀態(tài)未知,則初值可以設為或其它常數(shù) (3.2-11)根據(jù)上述推導,可以得到信息比特完整的對數(shù)似然比輸出信息。代入的表達式,并提取通項,得到 (3.2-12)由式(3.2-12)可以看出,輸出對
42、數(shù)似然比信息是先驗信息、系統(tǒng)信息與外部信息(剩余部分)之和。由于兩個分量譯碼器使用相同的系統(tǒng)信息,因此需要與處理先驗信息一樣,將其從中分離出來,僅以外部信息作為先驗信息用于下一輪譯碼。類似地,也可以得到碼字符號的譯碼輸出概率對數(shù)似然比。將Log-MAP算法中的簡化為通常的最大值運算,即為MAX-Log-MAP算法。3.3 SOVA 譯碼算法Viterbi 譯碼算法的實質(zhì)是最大似然譯碼,它利用了編碼網(wǎng)格圖的特殊結構從而降低計算的復雜性。該算法包括計算網(wǎng)格圖上在某時刻到達各個狀態(tài)的路徑和接收序列之間的距離。去除不可能成為最大似然選擇對象的網(wǎng)格圖上的路徑。對所有狀態(tài)都將進行路徑選擇,譯碼器不斷在網(wǎng)格
43、圖上深入,通過去除可能性最小的路徑實現(xiàn)判決。盡管Viterbi 算法可以軟輸入( Soft Input ),但是不可以軟輸出(Soft Output),而Turbo碼譯碼是通過連個分量譯碼器之間的軟信息的迭代而實現(xiàn)的,因而Viterbi 算法不能直接用于Turbo 碼譯碼。SOVA 算法正是改進的軟輸入軟輸出(Soft Input Soft Output)Viterbi 算法 (SOVA),輸出的是判決置信度。SOVA算法是對傳統(tǒng)的Viterbi算法做了兩點改進:首先,在計算路徑的度量時,考慮了先驗信息,并且讓先驗信息在兩個分量譯碼器之間傳遞;其次,算法可以以后驗概率的形式為每一個信息比特提供
44、軟輸出。Viterbi算法的基礎是尋找能夠使后驗概率最大的狀態(tài)序列,即: (3.3-1)這里代表在幸存路徑上的狀態(tài)序列,這個狀態(tài)序列在k時刻的狀態(tài)為S,表示k時刻前的接收序列。由于是已知的,因此要使上式最大,只要讓最大,這就是k時刻的度量。這個度量可以通過循環(huán)遞推的方式計算,即k時刻的度量等于k-1時刻的度量乘以在k-1時刻的狀態(tài)的已知的情況下k時刻的狀態(tài)為S并且輸出為的概率,即:= (3.3-2)如果令度量為log因此有:=+log (3.3-3)這樣就得到了SOVA算法中的支路度量的計算公式:=log (3.3-4)最小狀態(tài)。經(jīng)過修改后,幸存路徑和競爭路徑之間的累積分支度量差被用于更新比特
45、置信度3.4 各種譯碼算法的比較MAP 算法和SOVA 算法的區(qū)別在于狀態(tài)轉移圖中對路徑的判決方式不同。MAP 算法和Log-MAP 算法的區(qū)別在于運算域的不同,并且由于Log-MAP 算法通過加法修正函數(shù)推導而出,因此在性能上有一定的損失。MAP 算法,Log-MAP 算法,MAX-Log-MAP 算法以及SOVA 算法的相似點在于這些譯碼算法都是找出某種最大度量值路徑,并取度量的差值作為輸出的軟判決。它們的區(qū)別在于選取的路徑度量和輸出的軟信息不同。從它們的性能上講MAPLog-MAPMAX-Log-MAPSOVA (3.4-1)而從實現(xiàn)算法的復雜度上來講MAPLog-MAPMAX-Log-
46、MAPSOVA (3.4-2)因此,在實際選取Turbo 碼譯碼的算法的過程中需要充分考慮譯碼性能和實現(xiàn)復雜度。3.5 本章小結本章介紹了Turbo碼譯碼器的組成結構,Turbo碼利用軟輸入軟輸出進行迭代譯碼的思想及相關問題,詳細介紹了Log-MAP譯碼算法以及SOVA算法。Turbo碼在性能上之所以如此優(yōu)越,主要是因為編譯碼方法充分利用了隨機編碼思想、軟輸入軟輸出的譯碼思想以及迭代譯碼的思想。4 Turbo碼的性能仿真及設計4.1 Turbo碼仿真系統(tǒng)的實現(xiàn)Turbo碼是經(jīng)過模擬仿真來的,而不是根據(jù)既定的設計準則得到的。許多研究者正尋找其工作機理以便更好為Turbo碼的構造提供理論依據(jù)。至到
47、現(xiàn)在Turbo碼的研究成果很大一部分是通過對各種參數(shù)的模擬性能結果中得到的。模擬仿真時,衡量其編碼性能的好壞主要以誤碼率BER(Bit Error Rate)來的。本章將會對Turbo碼的性能作較為詳細的論在加性高斯白噪聲信道環(huán)境下,比較不同譯碼算法的不同性,與此同時為進一步的仿真和分析提供理論依據(jù)。仿真中使用加性高斯白噪聲信道(AWGN)模型,因為它易于構建,也是具有代表性的信道模型之一,同時假設使用BPSK調(diào)制方式。根據(jù)Turbo碼系統(tǒng)的結構特點,本文將整個Turbo編譯碼系統(tǒng)合理地劃分成多個模塊,使用MATLAB通過模塊化設計實現(xiàn)了可以用于計算機模擬的Turbo編譯碼系統(tǒng)。系統(tǒng)所包涵的模
48、塊具體劃分為:主程序、信道模型子程序、交織子程序、RSC編碼子程序、使用不同的算法進行譯碼的譯碼子程序等。仿真中使用加性高斯白噪聲信道(AWGN)模型,因為它易于構建,也是具有代表性的信道模型之一,同時假設使用BPSK調(diào)制方式。根據(jù)Turbo碼系統(tǒng)的結構特點,本文將整個Turbo編譯碼系統(tǒng)合理地劃分成多個模塊,使用MATLAB通過模塊化設計實現(xiàn)了可以用于計算機模擬的Turbo編譯碼系統(tǒng)。系統(tǒng)所包涵的模塊具體劃分為:主程序、信道模型子程序、交織子程序、RSC編碼子程序、使用不同的算法進行譯碼的譯碼子程序等。主程序控制著整個系統(tǒng)的流程。主程序首先完成對系統(tǒng)的先期設置,包括分量RSC的生成矩陣、是否
49、刪余、幀大小(即交織器的大小)、迭代次數(shù)、使用何種譯碼算法等等。然后,隨即生成信息源,調(diào)用各子程序完成編碼、傳輸以及譯碼的過程。仿真中使用加性高斯白噪聲信道(AWGN)模型,因為它易于構建,也是具有代表性的信道模型之一,同時假設使用BPSK調(diào)制方式。根據(jù)Turbo碼系統(tǒng)的結構特點,本文將整個Turbo編譯碼系統(tǒng)合理地劃分成多個模塊,使用MATLAB通過模塊化設計實現(xiàn)了可以用于計算機模擬的Turbo編譯碼系統(tǒng)。系統(tǒng)所包涵的模塊具體劃分為:主程序、信道模型子程序、交織子程序、RSC編碼子程序、使用不同的算法進行譯碼的譯碼子程序等。主程序控制著整個系統(tǒng)的流程。主程序首先完成對系統(tǒng)的先期設置,包括分量
50、RSC的生成矩陣、是否刪余、幀大小(即交織器的大小)、迭代次數(shù)、使用何種譯碼算法等等。然后,隨即生成信息源,調(diào)用各子程序完成編碼、傳輸以及譯碼的過程。交織子程序供主程序調(diào)用,主要完成對信息比特序列進行位置的隨機置換,并提供給RSC2進行編碼。對每幀進行置換的格式將保存下來,以便在譯碼過程中進行正確的解交織。RSC編碼子程序供主程序調(diào)用,完成編碼。網(wǎng)格圖生成子程序供譯碼子程序調(diào)用,用于生成給定生成矩陣對應的網(wǎng)格圖。對一幀編碼的子程序供RSC編碼子程序調(diào)用,用于對一幀的信息比特編碼。對一位信息比特編碼子程序供對一幀編碼的子程序調(diào)用,用于對單個輸入比特進行編碼。信道模型及復用調(diào)制子程序供主程序調(diào)用,
51、用于生成信道模型,將兩個RSC分量編碼器編碼序列和信息序列進行復用,根據(jù)需要的碼率組成整個編碼器的編碼結果,然后使用AWGN信道模型將編碼序列進行調(diào)制,模擬進入信道傳輸。譯碼前解復用子程序供主程序調(diào)用,用于從模擬信道接收觀測序列,并將觀測序列解復用,分解成系統(tǒng)比特序列和兩個校驗序列。譯碼子程序同主程序調(diào)用,用于實現(xiàn)具體的譯碼算法,對觀測序列進行譯碼。信息序列輸入確定約束長度k和儲存長度m以及信息位長度和加上尾比特的總長進入第一個RSC編碼器編碼完后做歸零處理進入第二個RSC編碼器,不做歸零處理進入交織器,為第二個RSC編碼器產(chǎn)生信息序列刪除?直接將原始信息和RSC1和RSC2編碼器信息合并輸出
52、RSC1奇校驗,即刪除其奇校驗序列的偶數(shù)位置比較;RSC2偶校驗,即刪除其偶校驗序列的奇數(shù)位置比較RSC1和RSC2校驗后的信息與原始信息復用合并輸出結束結束圖4.1-1 Turbo碼編碼流程圖譯碼序列輸入確定約束長度k和儲存長度m以及信息位長度和加上尾比特的總長調(diào)節(jié)接收比特大小初始化外部信息為數(shù)據(jù)長度的0序列取交織器長度的初始外部信息序列作為RSC1初次迭代的先驗信息RSC1得到先驗信息 外部信息及完整的似然信息由RSC1的外部信息取交織器長度序列作為RSC2迭代的先驗信息由RSC2的外部信息取交織器長度序列作為RSC1迭代的先驗信息得到先驗信息 外部信息及完整的似然信息由完整的信息對信號進
53、行估值數(shù)據(jù)幀傳送完畢,結束圖4.1-2 Turbo碼譯碼流程圖4.2 Turbo碼的仿真結果及分析影響Turbo碼性能的參數(shù)很多,這里分別就不同碼率、不同的譯碼算法、迭代次數(shù)、交織長度對Turbo碼性能的影響進行分析,給出仿真結果4.2.1 不同碼率對Turbo碼的性能影響圖4.2.2-1給出了Turbo 碼在不同的編碼率下的仿真結果。碼率分別為1/2,1/3。兩個分量碼的生成多項式為(7, 5)8 。采用隨機交織,交織長度為640。譯碼算法采用Log-MAP,譯碼迭代次數(shù)為3。圖4.2.2-1 Turbo碼碼率與誤碼率的關系由圖4.2.2-1的仿真結果可知,不同的碼率明顯影響了Turbo碼的
54、性能。圖中1/3碼率的Turbo碼的誤碼率始終低于1/2 碼率的Turbo 碼。在誤碼率為104時,碼率為1/3 的Turbo 比碼率為1/2 的Turbo 碼信噪比提高2dB 左右。Turbo 碼中存在一定的冗余,這些冗余信息對迭代譯碼起重要作用,刪余使冗余信息減小降低了校驗信息的可靠性,因此,1/2 碼率的Turbo 碼比1/3 碼率的Turbo 碼性能要差。但是由于經(jīng)過打孔的1/2 碼率的Turbo 碼的校驗比特相對較少,因此傳輸所用的時延比1/3 碼率的Turbo 碼小。在實際應用過程中,要考慮具體的情況選擇Turbo 碼的碼率。4.2.2 不同譯碼算法對Turbo 碼的性能影響圖4.
55、2.2-2給出了采用不同譯碼算法下的Turbo 碼仿真結果。Turbo 碼碼率為1/2,Log-Map算法和MAX-Log-Map 算法譯碼迭代次數(shù)為3。從圖中可以觀察到Log-MAP 譯碼算法性能明顯要優(yōu)于MAX-Log-MAP 和SOVA。在誤碼率為104 時,Log-MAP 譯碼算法比MAX-Log-Map 譯碼算法好0.4dB,比SOVA 好2dB 以上。Max-Log-MAP 算法用到了近似公式,故性能比Log-MAP 有所下降。驗證了譯碼算法性能MAPLog-MAPMAX-Log-MAPSOVA 的結論。SOVA 算法雖然性能是幾種算法中最差的,但復雜性較低易于實現(xiàn)。在實際運用中,要結合具體的情況,權衡硬件的復雜度和性能要求,選擇合適的譯碼算法。 圖4.2.2-2 不同譯碼算法對Turbo碼的影響4.2.3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年風能發(fā)電在建筑電氣設計中的案例分析
- 2026年全球土木工程人才市場分析
- 2026春招:行政主管真題及答案
- 2026春招:銷售代表題目及答案
- 2026春招:西部航空筆試題及答案
- 生物材料在骨科中的應用
- 2026年黑龍江農(nóng)業(yè)職業(yè)技術學院高職單招職業(yè)適應性測試備考題庫有答案解析
- 2026年廣西建設職業(yè)技術學院單招綜合素質(zhì)考試備考題庫帶答案解析
- 貨品進出安全培訓課件
- 護理專業(yè)實習生教育實踐
- 安全生產(chǎn)業(yè)務操作規(guī)程范文(2篇)
- GB/T 44748.1-2024篩分試驗第1部分:使用金屬絲編織網(wǎng)和金屬穿孔板試驗篩的方法
- 預制混凝土構件質(zhì)量控制
- 德佑房屋買賣合同
- 健康管理方案設計案例分析
- 2024高考英語應用文寫作真題手把手:2023全國乙卷素材
- 玻璃加工公司管理制度
- 七年級數(shù)學一元一次方程應用題復習題及答案
- 儲能電站檢修規(guī)程
- 離婚冷靜期制度的構建與完善
- 外掛鋼樓梯專項施工方案
評論
0/150
提交評論