




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Turbo碼的編碼原理及實現(xiàn) 摘要糾錯碼技術作為改善數(shù)字通信可靠性的一種有效手段,在數(shù)字通信的各個領域中獲得極為廣泛的應用。Turbo碼是并行級聯(lián)遞歸系統(tǒng)卷積碼,在接近Shannon限的低信噪比下能獲得較低的誤碼率,現(xiàn)已被很多系統(tǒng)所采用。本文分析了Turbo碼編碼譯碼的原理,為了使Turbo碼仿真更容易,研究并建立了基于Matlab中Simulink通信模塊的Turbo碼仿真模型。使用所建立的模型進行仿真,結果表明,在信噪比相同的情況下,交織長度越大、迭代次數(shù)越多、譯碼算法越優(yōu),Turbo碼性能越好,設計實際系統(tǒng)時,應綜合考慮各因素。關鍵詞:Turbo碼;Simulink仿真;交織長度;迭代次
2、數(shù)AbstractAs an effective means to improve the reliability of digital communication, error correcting code technology is widely used in the field of digital communication.Turbo code is a parallel concatenated recursive systematic convolutional code, which can obtain lower bit error rate in the low SN
3、R near Shannon limit,which is now used by many systems.In this paper,the principle of Turbo coding and decoding is analyzed,in order to make the Turbo Code simulation easier,a Turbo code simulation model based on Simulink module of Matlab is studied. Simulation result using the established model sho
4、ws that the longer interleaving length,the more iteration times and the better decoding algorithm bring the better Turbo code performance with the same SNR value.Keywords:Turbo code;Simulink simulation;Interleaving length;Iteration times;引言根據Shanno噪信道編碼定理,在信道傳輸速率R不超過信道容量C的前提下,只有在碼組長度無限的碼集合中隨機地選擇編碼碼字
5、并且在接收端采用最大似然譯碼算法時,才能使誤碼率接近為零。但是最大似然譯碼的復雜性隨編碼長度的增加而加大,當編碼長度趨于無窮大時,最大似然譯碼是不可能實現(xiàn)的。所以人們認為隨機性編譯碼僅僅是為證明定理存在性而引人的一種數(shù)學方法和手段,在實際的編碼構造中是不可能實現(xiàn)的。直到Turbo的出現(xiàn),人們才改變了這種看法。1993年,Claud Bernou等人在國際通信會議(ICC' 93)上提出了并行級聯(lián)卷積碼(PCCC)即Turbo碼,由于它很好地應用了Shannon信道編碼定理中的隨機性編譯碼條件,從而獲得了幾乎接近Shannon理論極限的譯碼性能。Turbo碼巧妙地將兩個簡單分量碼通過偽隨
6、機交織器并行級聯(lián)來構造具有偽隨機特性的長碼,并通過在兩個軟輸入/軟輸出( SISO)譯碼器之間進行多次迭代實現(xiàn)了偽隨機譯碼。采用迭代譯碼的方法來提高通信系統(tǒng)的譯碼性能是Turbo碼的最大特點。Turbo碼的編碼器、譯碼器結構繁瑣,是一種非常復雜的信道編碼方案,這使得對Turbo碼的理論分析十分困難,且只能對運算復雜度作宏觀分析,對Turbo碼的具體實現(xiàn)并沒有一個清楚的度量。因此,使用計算機對Turbo碼進行仿真分析是十分必要的。本文分析了Turbo碼編碼譯碼的原理,考慮到Turbo碼系統(tǒng)編譯碼的數(shù)據處理量很大,利用生成矩陣對信息序列進行編碼、譯碼時的迭代計算等等,都涉及了矩陣運算,故采用Mat
7、lab/Simulink來進行建模仿真。1 Turbo碼編碼原理Turbo碼的典型編碼器如圖1所示,Turbo碼編碼器主要由分量編碼器、交織器復接器組成。分量碼一般選擇為遞歸系統(tǒng)卷積(RSC,Recursive Systematic Convolutional)碼2,當然也可以是分組碼(BC, Block Code)、非遞歸卷積(NRC,Non-Recursive Convolutional)碼以及非系統(tǒng)卷積(NSC,Non-Systematic Convolutional)碼,但從后面的分析將看到,分量碼的最佳選擇是遞歸系統(tǒng)卷積碼。通常兩個分量碼采用相同的生成矩陣,當然分量碼也可以是不同的。
8、以分量碼為RSC為例,分量編碼器為遞歸系統(tǒng)卷積碼(RSC)編碼器。第一個RSC之前不使用交織器,后續(xù)的每個RSC之前都有一個交織器與之對應。一個Turbo編碼器中原則上可采用多個RSC,但通常只選用2個,因為過多的RSC分量編碼器將使得譯碼非常復雜而難以實現(xiàn)。通常的Turbo碼編碼器中,長度為N的信息序列在送入第一個分量編碼器的同時作為系統(tǒng)輸出直接送至復接器,同時經過一個N位交織器,形成一個新序列(長度與內容沒變,但比特位置經過重新排列。與分別傳送到兩個分量碼編器(RSC1與RSC2)。一般情況下,兩個分量碼編碼器的結構相同,生成分量碼校驗序列和。與未編碼的信息序列經過復接后,生成Turbo碼
9、序列,將編碼序列調制后,即可發(fā)射進入信道傳輸。分量編碼器CES2交織器復接器 分量編碼器CRS1 2 Matlab仿真及結果2.1 Turbo碼仿真系統(tǒng)的實現(xiàn)Turbo碼是經過模擬仿真來的,而不是根據既定的設計準則得到的。許多研究者正尋找其工作機理以便更好為Turbo碼的構造提供理論依據。至到現(xiàn)在Turbo碼的研究成果很大一部分是通過對各種參數(shù)的模擬性能結果中得到的。模擬仿真時,衡量其編碼性能的好壞主要以誤碼率BER(Bit Error Rate)來的。仿真中使用加性高斯白噪聲信道(AWGN)模型,因為它易于構建,也是具有代表性的信道模型之一,同時假設使用BPSK調制方式。根據Turbo碼系統(tǒng)
10、的結構特點,將整個Turbo編譯碼系統(tǒng)合理地劃分成多個模塊,使用MATLAB通過模塊化設計實現(xiàn)了可以用于計算機模擬的Turbo編譯碼系統(tǒng)。系統(tǒng)所包涵的模塊具體劃分為:主程序、信道模型子程序、交織子程序、RSC編碼子程序、使用不同的算法進行譯碼的譯碼子程序等。仿真中使用加性高斯白噪聲信道(AWGN)模型,因為它易于構建,也是具有代表性的信道模型之一,同時假設使用BPSK調制方式。根據Turbo碼系統(tǒng)的結構特點,本文將整個Turbo編譯碼系統(tǒng)合理地劃分成多個模塊,使用MATLAB通過模塊化設計實現(xiàn)了可以用于計算機模擬的Turbo編譯碼系統(tǒng)。系統(tǒng)所包涵的模塊具體劃分為:主程序、信道模型子程序、交織子
11、程序、RSC編碼子程序、使用不同的算法進行譯碼的譯碼子程序等。主程序控制著整個系統(tǒng)的流程。主程序首先完成對系統(tǒng)的先期設置,包括分量RSC的生成矩陣、幀大小(即交織器的大小)、迭代次數(shù)、使用何種譯碼算法等等。然后,隨即生成信息源,調用各子程序完成編碼、傳輸以及譯碼的過程。仿真中使用加性高斯白噪聲信道(AWGN)模型,因為它易于構建,也是具有代表性的信道模型之一,同時假設使用BPSK調制方式。根據Turbo碼系統(tǒng)的結構特點,本文將整個Turbo編譯碼系統(tǒng)合理地劃分成多個模塊,使用MATLAB通過模塊化設計實現(xiàn)了可以用于計算機模擬的Turbo編譯碼系統(tǒng)。系統(tǒng)所包涵的模塊具體劃分為:主程序、信道模型子
12、程序、交織子程序、RSC編碼子程序、使用不同的算法進行譯碼的譯碼子程序等。交織子程序供主程序調用,主要完成對信息比特序列進行位置的隨機置換,并提供給RSC2進行編碼。對每幀進行置換的格式將保存下來,以便在譯碼過程中進行正確的解交織。RSC編碼子程序供主程序調用,完成編碼。網格圖生成子程序供譯碼子程序調用,用于生成給定生成矩陣對應的網格圖。對一幀編碼的子程序供RSC編碼子程序調用,用于對一幀的信息比特編碼。對一位信息比特編碼子程序供對一幀編碼的子程序調用,用于對單個輸入比特進行編碼。信道模型及復用調制子程序供主程序調用,用于生成信道模型,將兩個RSC分量編碼器編碼序列和信息序列進行復用,根據需要
13、的碼率組成整個編碼器的編碼結果,然后使用AWGN信道模型將編碼序列進行調制,模擬進入信道傳輸。譯碼前解復用子程序供主程序調用,用于從模擬信道接收觀測序列,并將觀測序列解復用,分解成系統(tǒng)比特序列和兩個校驗序列。譯碼子程序同主程序調用,用于實現(xiàn)具體的譯碼算法,對觀測序列進行譯碼。2.2 Turbo碼的仿真結果及分析影響Turbo碼性能的參數(shù)很多,這里分別就不同的譯碼算法、迭代次數(shù)、交織長度對Turbo碼性能的影響進行分析,給出仿真結果。2.2.1 不同譯碼算法對Turbo 碼的性能影響圖6給出了采用不同譯碼算法下的Turbo 碼仿真結果。Turbo 碼碼率為1/3,Log-Map算法和MAX-Lo
14、g-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 有所下降。驗證了譯碼算法性能MAP>Log-MAP>MAX-Log-MAP>SOVA 的結論。SOVA 算法雖然性能是幾種算法中最差的,但復雜性較低易于實現(xiàn)。在實際運用中,要結合具體的情況,權衡硬件的復雜度和性能要求,選擇合適的譯碼算法。 圖6 不同譯碼算法對Turb
15、o碼的影響2.2.2 迭代次數(shù) 圖7 迭代次數(shù)對Turbo碼的影響圖7給出了不同迭代次數(shù)下,Turbo碼的誤比特率與信噪比的關系曲線,采用MAX-Log-MAP算法,碼率為。從圖7所示的仿真結果可以看出,隨著迭代次數(shù)的增加,Turbo碼的誤比特率曲線不斷降低并趨于收斂;而且隨著信噪比的增加,迭代對誤比特率性能的影響越來越明顯。這是Turbo碼通過迭代譯碼充分利用冗余信息來提高編譯碼性能這一特點的反映。最初,迭代譯碼的增益較高,但隨著迭代次數(shù)的增加,譯碼增益增長相對緩慢,雖然繼續(xù)增加迭代次數(shù)可以提高Turbo碼的性能,但權衡迭代所需要的時間、性能改善的幅度,我們通常都選取合適的迭代次數(shù)。 2.2
16、.3 交織長度 圖8 交織長度對Turbo碼的影響圖8給出了不同交織長度下,Turbo碼的誤比特率與信噪比的關系曲線。從圖8中可以看出,交織長度越大,性能就越好,而且交織長度對性能的影響是很大的,這是由于交織器的存在所產生的所謂交織增益,使得Turbo碼的性能隨交織長度的增長而改善且在交織長度足夠長時接近信道容量。交織長度是決定Turbo碼性能的一個重要因素。但是與Turbo碼不同,卷積碼的一個優(yōu)點在于只要幀長遠大于碼的約束長度,其性能就與幀長沒有關系,另外,Turbo碼性能的另一個重要因素是迭代譯碼所產生的譯碼復雜度,所以我們有必要在短幀的情況下,將Turbo碼與采用最大似然譯碼算法的卷積碼
17、糾錯性能和復雜度作一個比較。在高斯信道環(huán)境下作了仿真比較,得到在同樣信噪比的條件下,要達到級BER的要求時,卷積碼的復雜度小于Turbo碼,在瑞利衰落信道下,結論也相似。短幀傳輸有著廣泛的應用,諸如在移動通信中,話音和控制信息通常采用小于300比特的短幀,通常話音和信令的誤碼率要求在到之間。由上述結論可知,在對幀長有要求的移動通信系統(tǒng)中,在一定的誤碼率要求下,Turbo碼并不是最佳的準則,在考慮譯碼復雜度的情況下,卷積碼反而比Turbo碼具有更好的性能。反之,對于幀長較長的情況下,采用Turbo碼將更有優(yōu)勢。同時,我們還應該注意到交織深度和編譯碼時延之間還存在著一個兼顧的問題。Turbo碼的時
18、延包括編碼時延、碼組傳輸時延、譯碼器時延及交織和解交織時延。交織長度越長,時延也越大。通信系統(tǒng)中,時延是個很重要的因素,實時的通信系統(tǒng)中總是對時延提出了較高的要求。在實際的應用中,需要根據時延的要求來確定最佳的碼長。5 結束語 Turbo碼的出現(xiàn)為信道編碼理論和實踐帶來了一場革命,在理論上,它有著不同于以往的結構,使通過可譯碼編碼逼近信道容量成為可能;在實踐上,只要時延和復雜度允許,Turbo碼可在各種惡劣條件下提供接近極限的通信能力。Turbo碼在中高噪聲的應用環(huán)境中的性能比以往其他的信道編碼要好很多,這是它的一大優(yōu)點。但是,Turbo碼也有自己的不足: (1)計算量大
19、,要得到高碼率,往往需要很大的交織器,這就增加了譯碼的復雜性,而較短的交織器不可能達到高碼率,因此往往要根據實際需要來確定碼率和計算復雜性之間的平衡來設計相應的Turbo碼。 (2)由交織和迭代譯碼造成的時延使Turbo碼在某些對時延要求高的通信系統(tǒng)(如數(shù)字電話、數(shù)字音像廣播、數(shù)據包通信、太空通信等)中的應用受到限制。 (3)理論分析困難,至今尚未有對Turbo碼譯碼復雜性,比特誤碼率完整的理論分析和估計。一般是通過數(shù)值模擬與單個卷積碼、乘積碼、級聯(lián)碼比較或不同譯碼方法之間的性能比較。參考文獻1王會,王忠.Turbo碼性能分析與仿真D.成都:四川大學,2002.2陳朝,陳芳
20、,周峰.一種基于Matlat的Turbo碼編碼仿真實現(xiàn)J.信息與電子工程,2005, 3(3) : 179-181.3鄧華.Matlat,通信仿真及應用實例詳解M.北京:人民郵電出版社2003.4周賢偉,趙欣,王麗娜.使用Simulink構建Turbo碼仿真系統(tǒng)J.微計算機信息,2006, 22( 1s) : 202-204.5鐘麟,王峰.M atlal,仿真技術與應用教程M .北京:國防工業(yè)出版社,2004.附錄:核心源碼展示:Logmap.mfunction L_all = logmapo(rec_s,g,L_a,ind_dec)L_total = length(rec_s)/2;%系統(tǒng)信
21、息/校驗信息的長度n,K = size(g); m = K - 1; %編碼器移位寄存器個數(shù)nstates = 2m; %編碼網格圖狀態(tài)數(shù)%建立網格圖,得到網格圖上前一個輸出比特及狀態(tài)、下一個輸出比特及狀態(tài)next_out, next_state, last_out, last_state = trellis(g);Infty = 1e10; %定義無窮大% 初始化AlphaAlpha(1,1) = 0; Alpha(1,2:nstates) = -Infty*ones(1,nstates-1);% 初始化beta,第一個分量碼的網格圖歸零,第二個不歸零if ind_dec=1 Beta(L_
22、total,1) = 0; Beta(L_total,2:nstates) = -Infty*ones(1,nstates-1); elseif ind_dec=2 Beta(L_total,1:nstates) = zeros(1,nstates);end% 前向遞推計算alpha值for k = 2:L_total+1 for state2 = 1:nstates gamma = -Infty*ones(1,nstates); %計算輸入為0時的gamma值; gamma(last_state(state2,1)=(-rec_s(2*k-3)+rec_s(2*k2)*last_out(st
23、ate2,2). -log(1+exp(L_a(k-1); %計算輸入為1時的gamma的值; gamma(last_state(state2,2)= (rec_s(2*k-3)+rec_s(2*k-2)*last_out(state2,4). +L_a(k-1)-log(1+exp(L_a(k-1); %根據gamma值和前一時刻的alpha值計算前向遞推計算當前時刻的alpha值 if(sum(exp(gamma+Alpha(k-1,:)<1e-300) Alpha(k,state2)=-Infty; else Alpha(k,state2) = log( sum( exp( gamma+Alpha(k-1,:) ) ) ); end end %alpha值歸一化,對數(shù)形式為減去最大值 tempmax(k) = max(Alpha(k,:); Alpha(k,:) = Alpha(k,:) - tempmax(k);end % 后向遞推計算beta值for k = L_total-1:-1:1 for state1 = 1:nstates gamma = -Infty*ones(1,nstates); %輸入為0時的gamma值 gamma(next_state(state1,1) = (-rec_s(2*k+1)+rec_s(2*k+2)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字化供應鏈優(yōu)化升級合作協(xié)議
- 幼兒園親子故事征文猜猜我有多愛你
- 品牌發(fā)展及合作策略表
- 農業(yè)智能裝備技術應用知識試題
- 物業(yè)轉讓協(xié)議書錦集
- 農業(yè)種植基地生產安全管理協(xié)議
- 數(shù)學故事書奇妙的世界之旅解讀
- 企業(yè)內部管理軟件推廣協(xié)議
- 杜甫詩風探究:高中語文深度解析教案
- 三農田機械作業(yè)技術標準及規(guī)范
- 2025年江蘇省南京市鍋爐壓力容器檢驗研究院招聘20人歷年高頻重點模擬試卷提升(共500題附帶答案詳解)
- 婦女保健知識講座課件
- 上海2025年上海商學院招聘筆試歷年參考題庫附帶答案詳解-1
- 2025云南昆明空港投資開發(fā)集團招聘7人歷年高頻重點模擬試卷提升(共500題附帶答案詳解)
- 征信異議申請書
- 高中不同主題閱讀理解高頻詞匯清單-2025屆高三下學期英語一輪復習專項
- 2025年上半年高郵市國資產投資運營限公司(國企業(yè))公開招聘工作人員易考易錯模擬試題(共500題)試卷后附參考答案
- 教師命題培訓
- 【地理】亞洲的自然環(huán)境第3課時 2024-2025學年七年級地理下冊同步課件(人教版2024)
- 2024年江蘇護理職業(yè)學院高職單招語文歷年參考題庫含答案解析
-
評論
0/150
提交評論