基于Matlab的Turbo碼仿真研究
摘 要:為了使Turbo碼仿真更容易,研究并建立了基于Matlab中Simulink通信模塊的Turbo碼仿真模型。Turbo碼編碼器采用兩個(gè)相同的分量編碼器通過(guò)交織器并行級聯(lián)而成。Turbo碼譯碼器采用不同的譯碼算法,這些算法由s函數調用m文件實(shí)現。使用所建立的模型進(jìn)行仿真,結果表明,在信噪比相同的情況下,交織長(cháng)度越大、迭代次數越多、譯碼算法越優(yōu),Turbo碼性能越好。設計實(shí)際系統時(shí),應綜合考慮各因素。
關(guān)鍵詞:Turbo碼;Simulink仿真;交織長(cháng)度;迭代次數;譯碼算法
0 引 言
Shannon編碼定理指出:如果采用足夠長(cháng)的隨機編碼,就能逼近Shannon信道容量。而Turbo碼以其接近Shannon理論極限的譯碼性能,已被采納為3G移動(dòng)通信系統的信道編碼標準之一。Turbo碼巧妙地將兩個(gè)簡(jiǎn)單分量碼通過(guò)偽隨機交織器并行級聯(lián)來(lái)構造具有偽隨機特性的長(cháng)碼,并通過(guò)在兩個(gè)軟輸入/軟輸出(SISO)譯碼器之間進(jìn)行多次迭代實(shí)現了偽隨機譯碼。采用迭代譯碼的方法來(lái)提高通信系統的譯碼性能是Turbo碼的最大特點(diǎn)。
Turbo碼的編碼器、譯碼器結構繁瑣,是一種非常復雜的信道編碼方案,這使得對Turho碼的理論分析十分困難,且只能對運算復雜度作宏觀(guān)分析,對Turbo碼的具體實(shí)現并沒(méi)有一個(gè)清楚的度量。因此,使用計算機對Turbo碼進(jìn)行仿真分析是十分必要的。
本文分析了Turbo碼編碼譯碼的原理,考慮到Turbo碼系統編譯碼的數據處理量很大,利用生成矩陣對信息序列進(jìn)行編碼、譯碼時(shí)的迭代計算等等,都涉及了矩陣運算,故采用Matlab/Sireulink來(lái)進(jìn)行建模仿真,同時(shí)分析了迭代次數、交織長(cháng)度及不同譯碼算法對Turbo碼性能的影響。
l Turbo碼的編碼器和譯碼器原理
1.1 Turbo碼編碼器組成
Turbo碼的編碼器的基本結構如圖1所示。
Turbo碼編碼器主要由兩個(gè)遞歸系統卷積編碼器(RSC)、一個(gè)交織器與一個(gè)刪余和復用單元組成。遞歸系統卷積編碼器是指帶有反饋的系統卷積編碼器,其碼率可設為R=k/n;交織器用來(lái)改變信息序列的排列順序,獲得與原始信息序列內容相同,但排列不同的信息序列;刪余和復用單元的作用是從總體上改善Turbo碼碼率,因此通過(guò)刪余和復用單元,Turbo碼可以獲得不同碼率的碼字。編碼器的碼字通過(guò)信道輸出到譯碼器內。
1.2 Turbo碼譯碼器原理
Turbo碼譯碼器基本結構如圖2所示。
評論