3課程材料編碼理論_第1頁
3課程材料編碼理論_第2頁
3課程材料編碼理論_第3頁
3課程材料編碼理論_第4頁
3課程材料編碼理論_第5頁
已閱讀5頁,還剩19頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第六章 Turbo 碼雖然軟譯碼、級聯碼和編碼調制技術都對信道碼的設計和發展產生了影響,但是其增益與 Shannon 理論極限始終都23dB 的差距。因此,在Turbo 碼提出以前,信道截止速率 R0 一直被認為是差錯限,是不可能達到的。碼性能的實際極限,shannon 極限僅僅是理論上的極根據 shannon 有噪信道編碼定理,在信道傳輸速率 R 不超過信道容量 C 的前提下,只有在碼組長度無限的碼集合中隨機地選擇編碼碼字并且在接收端采用最大似然譯碼算法時, 才能使誤碼率接近為零。但是最大似然譯碼的復雜性隨編碼長度的增加而加大,當編碼長度趨于無窮大時,最大似然譯碼是不可能實現的。所以人們認為

2、隨機性編譯碼僅僅是為證明定理性而引入的一種數學方法和,在實際的編碼構造中是不可能實現的。在 1993 年于日內瓦召開的國際通信會議(1CC,93)上,兩位任教于法國不列顛通信大學的教授C.Berrou、A.Glavieux 和他們的緬甸籍博士生 P.thitimajshima 首次提出了一種新型信道編碼方案Turbo 碼,由于它很好地應用了 shannon 信道編碼定理中的隨機性編、譯碼條件,從而獲得了幾乎接近 shannon 理論極限的譯碼性能。結果表明,在采用長度為 65536 的隨機交織器并譯碼迭代 18 次情況下,在信噪比 Eb/N00.7dB 并采用 BPSK 調制時,碼率為 1/2

3、 的 Turbo 碼在 AWGN 信道下的誤比特率10-5,達到了與 Shannon 極限僅相差 0.7dB 的優異性能(1/2 碼率的 Shannon 極限是 0dB)。Claude BerrouDave ForneyTurbo 碼又稱并行級聯卷積碼 (PCarallel Concatenated Convolutional Code),它巧妙地將卷積碼和隨機交織器結合在一起,在實現隨機編碼思想的同時,通過交織器實現了由短碼構造長碼的方法,并采用軟輸出迭代譯碼來逼近最大似然譯碼。可見,Turbo 碼充分利用了 Shannon 信道編碼定理的基本條件,因此得到了接近 Shannon 極限的性能

4、。在Turbo 碼的首篇里,發明者 Berrou 僅給出了 Turbo 碼的基本組成和迭代譯碼的原理,而沒有嚴格的理論解釋和證明。因此,在 Turbo 碼提出之初,其基本理論的研究就顯得尤為重要。J.Hagenauer 首先系統地闡明了迭代譯碼的原理,并推導了二進制分組碼與卷積碼的軟輸入軟輸出譯碼算法。由于在 Turbo 碼織器的出現,使其性能分析異常困難,因此 S.Benedetto 等人提出了均勻交織(UI,Uniform interleaver)的概念,并利用界技術給出了Turbo 碼的平均性能上界。DDivsalar 等人也根據卷積碼的轉移函數,給出了 Turbo碼采用 MLD 時的誤

5、比特率上界。對于 Turbo 碼來說,標準界在信噪比較小時比較寬松,只有在信噪比較大時才能實現對 Turbo 碼性能的度量。因此,T.M Duman、I.Sason 和D.Divsalar 等人在 Gallager 限等已有性能界技術的基礎上進行改進擴展了Turbo 碼性能界的范圍。D.Divsalar 等人還根據遞歸系統卷積碼的特點提出了有效自由距離的概念,并說明在設計 Turbo 碼時應該使碼字有效自由距離盡可能大。L.C.Perez 等人從距離譜的角度對 Turbo 碼的性能進行了分析,證明可以通過增加交織長度或采用本原反饋多項式增加分量碼的自由距離來提高 Turbo 碼的性能。他們還證

6、明了 Turbo 碼雖然自由距離比較小,但其小重量碼字的數目較少,從而解釋了低信噪比條件下 Turbo 碼性能優異的,并提出了交織器增益的概念。S.Dolinar 的研究表明,Turbo 碼的最小距離碼字主要由重量為 2 的輸入信息序列生成,是形成錯誤平臺的主要。為提高高信噪比條件下 Turbo 碼的性能,就必須提高低重輸入信息序列的輸出碼重。J.Seghers 系統地分析了 Turbo 碼的距離特性。由于交織器的,無法給出 Turbo 碼自由距離的嚴格數學表示,相應地也出現了許多分析和計算 Turbo碼最小距離、重量分布和性能上限的方法。AAmbroze 還構造了 Turbo 碼的,用來作為

7、計算碼字距離譜的工具。此外,R.M.Tanne、E.Offer 和 K.Engdahl 分別從代數和統計的角度對Turbo 碼進行了分析。考慮到 Turbo 碼的延時問題,E.K.Hall 等人提出了面向流的 Turbo碼。也可以用其他系統模型采描述 Turbo 碼及其迭代譯碼過程:T.Richardson 把 Turbo 碼作進行描述;A.K.Khandani 則把 Turbo 碼考慮成一個周期性的線性系統;為一個動J.Laertyy, X.Ge 和 F.R.Kschischang 描述了 Turbo 碼的圖模型; 在圖模型的基礎上, DJCMaKay 等人證明了Turbo 碼的校驗矩陣與

8、LDPC 碼的校驗矩陣是等價的,從而可以將Turbo 碼看成一類特殊的 LDPC。6.1 Turbo 碼的編碼Turbo 碼的編碼結構可以分為并行級聯卷積碼(PCCC)、串行級聯卷積碼(SCCC)和混合級聯卷積碼(HCCC)三種,如圖 6.1 所示。(a)(b)(c)內碼編碼器交織器2外碼編碼器并行編碼器交織器1內碼編碼器交織器外碼編碼器分量編碼器2交織器穿刺矩陣分量編碼器1復接交織器1(d)圖 6.1 Turbo 碼的幾種編碼結構(a)PCCC(b)SCCC(c)HCCC-I(d)HCCC-II1993 年,C.Berrou 提出的 Turbo 碼就是 PCCC 結構,主要由分量編碼器、交織

9、器、穿刺矩陣和復接器組成。分量碼一般選擇為遞歸系統卷積(RSC)碼,當然也可以選擇分組碼、非遞歸卷積(NRC)碼以及非系統卷積(NSC)碼。通常兩個分量碼采用相同的生成矩陣(也可不同)。若兩個分量碼的碼率分別為 R1 和R2,則 Turbo 碼的碼率為:R1R2R =(6.1)R1 + R2 - R1R2在 AWGN 信道上對 PCCC 的性能證明,當 BER 隨 SNR 的增加下降到一定程度時,就會出現下降緩慢甚至不再降低的情況,一般稱為誤碼平臺(error floor)。為解決這個問題, 1996 年,S.Benedetto 提出了串行級聯卷積碼(SCCC)的概念,它綜合了 Forney

10、串行級聯碼(RS 碼卷積碼)和 Turbo 碼(PCCC)的特點,在適當的信噪比范圍內,通過迭代譯碼可以達到非常優異的譯碼性能。Benedetto 的研究表明,為使 SCCC 達到比較好的譯碼性能, 至少其內碼要采用遞歸系統卷積碼,外碼也應選擇具有較好距離特性的卷積碼。若外碼編碼器和內碼編碼器的編碼速率分別為Ro 和 RI,則 SCCC 的碼率 R 為:RRo×RI(6.2)HCCC 是將前兩種方案結合起來,從而既能在低 SNR 下獲得較好的譯碼性能,又能有效地消除 PCCC 的誤碼平臺,稱為混合級聯卷積碼。綜合串行和并行級聯的方案很多,這里只給出兩種常見的方案,一是采用卷積碼和 S

11、CCC 并行級聯的編碼方案,如圖 6.1(c)所示;另一種是以卷積碼為外碼,以 PCCC 為內碼的混合級聯編碼結構,如圖 6.1(d)所示。我們主要討論 PCCC 結構的卷積碼。為便于討論,將 PCCC 編碼結構重畫為圖 6.2(a)所示。u = (u0 , u1 ,L, uK -1 )= (v(0) , v(0) ,L, v(0) )v(0)K -101v(1) = (v(1) , v(1) ,L, v(1)K -101v(2) = (v(2) , v(2) ,L, v(2) )K -101(a)分量編碼器2p分量編碼器1內碼編碼器2交織器2內碼編碼器1外碼編碼器uv(0)v(1)pu

12、62;v(2)(b)圖 6.2 PCCC 編碼器基本結構系統包括輸入信息序列u,兩個(2,1,v)系統反饋(遞歸)卷積編碼器,一個交織器(用p 表示)。假設信息序列含有 K*個信息比特以及 v 個結尾比特(以便返回到全 0 態),其中v 是第一個編碼器的約束長度,因此有KK*v,信息序列可表示為:u = (u0 , u1 ,LuK -1 )(6.3)由于編碼器是系統的,因此信息序列就等于第一個輸出序列,即:u = v(0) = (v(0) , v(0) ,Lv(0) )(6.4)K -101第一個編碼器輸出的校驗序列為:v(1) = (v(1) , v(1) ,Lv(1)(6.5)01K -1

13、交織器對 K 個比特進行擾序處理,得到u¢ ,第二個編碼器輸出的校驗序列為:v(2) = (v(2) , v(2) ,Lv(2)(6.6)K -101從而最終的序列(碼字)為:v = (v(0)v(1)v(2) , v(0)v(1)v(2) ,Lv(0) v(1) v(2)(6.7)K -1 K -1 K -1000111因此,對該編碼器來說,碼字長度 N3K,RtK*/N(Kv)/3K,當 K 比較大時,約為1/3。在圖 6.2(b)中,兩個分量碼都是(2,1,4)系統反饋編碼器,具有相同的生成矩陣,為:G(D) = 1 (1+ D4 ) /(1+ D + D2 + D3 + D4

14、 )對于Turbo 碼來說,需要注意以下幾點:(6.8)(1)為了得到靠近 Shannon 限的系統性能,信息分組長度(交織器大小)K 一般比較大, 通常至少幾千個比特。對于分量碼來說,一般選擇相同結構,且約束長度較短,通常v4。(2)(3)遞歸分量碼(性能;反饋編碼器產生)會比非遞歸分量碼(前饋編碼器)有更好的高碼率可通過穿刺矩陣產生,如圖 6.2(b)中,可通過交替輸出 v(1) 和 v(2) 得到 1/2的編碼速率。(4)(5)通過增加分量碼和交織器也可得到較低編碼速率的Turbo 碼,如圖 6.3 所示。uv(0)v(1)v(2)v(3)圖 6.3 速率 R1/4 的 Turbo 碼最

15、好的交織器能夠對比特以偽隨機的方式進行排序,傳統的塊交織器(行-列)在Turbo 碼中性能不好,除非 block 長度很短;由于交織器只是對比特位置進行重新排序,因此,交織后的序列u¢ 與原始序列 u 具有相同的重量;對每個分量碼來說,用 BCJR(或 MAP)算法作為 SISO 譯碼器能夠獲得最好的性能;因為 MAP 譯碼器使用了前向-后向算法,信息是以 block 的形式進行的,因此, 對第一個分量譯碼器來說,附加 v 個 0 比特能夠讓它返回到全 0 態;但對于第二個譯碼器來說,由于交織器的作用,將不能返回到全 0 態。(6)(7)(8)é10ù圖 6.2(

16、b)所示的編碼器,穿刺后得到 1/2 的碼率。此時穿刺矩陣可以為 P =ú ,其1ê0ëû輸出就為 v = (v(0)v(1) , v(0)v(2) ,L) 。當信息序列長度 K65536 比特,SISO MAP 譯碼器經0011過 18 次迭代后,在 0.7dB 可以達到 10-5 的誤比特率,與 Shannon 限只相差 0.7dB。Turbo 碼有兩個缺點:(1)較大的譯碼時延,這是由于 block 長度較大、譯碼需要多次迭代造成的。這樣對于實時業務或高速數據的傳輸就非常不利;(2)BER 在 10-5 后會出現誤碼平臺,這是由于 Turbo 碼的

17、重量分布造成的。對于某些對 BER 要求較高的應用就不適合, 當然通過交織器的設計能夠提供碼字的最小距離,從而降低誤碼平臺。 例 6.1:結尾卷積碼的重量譜考慮(2,1,4)非系統前饋卷積碼,編碼器生成矩陣為:G ff (D) = 1+ D + D + D + D2341+ D4 (6.9)該碼的最小自由距離是 6,對應的輸入信息序列為(110)。如果該編碼器轉為系統反饋形式,生成矩陣為:G fb (D) = 1 (1+ D ) /(1+ D + D + D + D )4234(6.10)分量編碼器3p 2分量編碼器2p1分量編碼器1由于碼是相同的,因此自由距離仍是 6,但在這種情況下,最小重

18、量碼字是由信息序列(10000100)產生的,即 u(D)=1+D5。兩個不同的編碼器得到相同的碼,但信息序列和碼字之間的關系不同。【說明:Turbo 碼編碼的對象是長度固定的數據序列,即在編碼過首先將輸入信息數據分成長度與交織長度相同的數據序列,然后對每個數據序列進行編碼。如果 Turbo 碼的分量碼在數據序列編碼結束時利用結尾比特使得網格圖狀態歸零,則Turbo 碼可等效為一個分組碼。】設每個編碼器信息長度為 K*K4,附加 4 個比特讓編碼器返回到全 0 態,此時,我們就可得到(N,K*)(2K,K4)的分組碼,碼率為 R=(K-4)/2K,當 K 很大時,約等于 1/2。這個分組碼含有

19、 K5 個重量為 6 的碼字,因為這些碼字的信息序列可以從 K5 個任意位置開始,都可以得到相同的碼字。類似的分析顯示,對于重量為7 及其他較低重量,碼字數都很多。在表 6.1(a)里,給出了(32,12)碼的所有重量譜,其中 K16。表 6.1兩個(32,12)碼的重量譜從上表可以看出,在每個重量的碼字數增加迅速,在重量為 16(block 長度的一半)時達到峰值,還可看出,在低端,碼的重量譜很密集,這也導致在低 SNR 下有相對較高的錯誤概率。通常,如果一個非結尾卷積碼具有 Ad 個重量為 d 的碼字,這些碼字是由信息序列集合u(D)產生,則信息序列集合Du(D)也能產生 Ad 個重量為

20、d 的碼字,依此類推。結尾卷積碼本質上也具有相同的特性。換句話說,卷積碼是時不變的,這個特性能夠說明為什么在結尾卷積碼中低重量碼字數較多。當一個偽隨機交織器用于產生一個并行級聯碼時,又會如何? 例 6.2:并行級聯碼的重量譜選用式(6.10)所示的系統反饋卷積編碼器,輸入序列長度 K16,長度為 16 的交織圖案為:(a)結尾卷積碼(b)并行級聯碼重量碼字數重量碼字數0114050823938106111126122001333214425155021654517520184911934620212211322268233824112522602732001140581693010731114

21、4122101330814404154961657117558184781935220222211232264232424425426127320Õ= 0,8,15, 9, 4, 7,11, 5,1, 3,14, 6,13,12,10, 2(6.11)16(1+ D4 ) /(1+ D + D2 + D3 + D4 ) 進行編碼,因此會擾序后的輸入序列用相同的校驗得到不同的校驗序列。為了與例 6.1 進行比較,我們用周期 T2 的穿刺矩陣:é10ùP = ê0(6.12)1úëû進行處理,這樣同樣會得到一個(32,12)的碼

22、,該碼的重量譜如表 6.1(b)所示。觀察(a) 和(b)我們可以看出兩者有明顯的不同,自由距離由 6 減小到 5,但只有 1 個碼字,更重要的是,重量為 69 的碼字數明顯減少了,這表示在并行級聯碼中,低重量碼字向高重量碼字偏移了,這種偏移稱為譜細化(spectral thinning)。例如,重量為 2 的輸入信息序列 u(10000100),這樣會得到低重量校驗序列 v(1)(110011000),因此,沒有交織器,結尾卷積碼產生的碼字重量為 6。交織后的輸入序列假定為u¢ (1000000100),則產生的校驗序列為v(2)(1100101111000110),復用 v(1)

23、和 v(2),用式(6.12)式進行穿刺,得到的校驗序列為(1100100101000100)。這樣,對于同是重量為 2 的輸入序列,在并行級聯碼中就產生了重量為 8 的碼字。值得注意的問題:(1)(2)(3)不同的交織器和穿刺矩陣會產生不同的結果;譜細化對最小自由距離的影響很小,但卻能大大減小低重量碼字的數目;隨著分組長度和交織器大小K 的增加,并行級聯卷積碼的重量譜近似于一個隨機分布。由此可看出,交織器在 Turbo 碼中起著關鍵的作用,傳統的塊交織在 Turbo 中并不適用,一定要做到偽隨機化,這樣構造出的碼重量譜就近似于一個二項式分布,Shannon 曾證明過, 只有隨機(二項式)重量

24、分布的碼是性能達到 Shannon 限的前提。產生隨機交織圖案的方法很多,例如用如下簡單算法:km(m +1)cm ºK ), 0 £ m < K(mod(6.13)2來產生一個序號函數cm ® cm+1 (mod K ) ,其中 K 是交織器大小,k 是一個奇數。例如,K16,k1,可得到:(c0,c1,c15)(0,1,3,6,10,15,5,12,4,13,7,2,14,11,9,8)(6.14)這意味著交織后序列u¢ 中的序號 0(輸入比特u0¢ )與原始序列 u 中的序號 1 相對應(即u0¢ = u1 ), u

25、62; 中的 1 與u 中的序號 3 相對應,這樣交織器為:Õ= 1, 3,14, 6,13,12,10, 2, 0,8,15, 9, 4, 7,11, 5(6.15)16該交織圖案如果向右循環移動 8 位,就得到式(6.11)所示的交織圖案。對于 K 是 2 的指數, 可以證明這些交織器具有與隨機交織類似的統計特性,因此用于 Turbo 碼中具有很好的性能。6.2 Turbo 碼的迭代譯碼Turbo 碼的迭代譯碼器基本結構如圖 6.4 所示(假設速率 R1/3、沒有穿刺的并行級聯碼),它使用了兩個 SISO 譯碼器(MAP 算法)。在每個時間單元 l,從信道接收到三個輸出值,一個是

26、對應著信息比特u = v(0) ,用 r(0) 表示,其他兩個對應著校驗比特v(1) 和v(2) ,分別用lllllr(1) 和 r(2) 表示,這樣接收到的向量(3K 維)為:ll()r = rr r, rr r,L rrr(0) (1) (2)(0) (1) (2)(0) (1) (2)(6.16)000111K -1 K -1 K -1L r(0)L r(2)c lc lL r(0)L r(1)c lc lL(1) (u ) - L r(0)lc l(2)L (ul )Le (ul )(1)L(1) (u )elL(2) (u )L(2) (u )elel解交織圖 6.4 迭代譯碼器的基

27、本結構關系為0 ® -1和1 ® +1,軟輸出的 AWGN 信道。給定接收現在假設每個比特的()()值 r(0) ,信息比特u 的對數似然值(L 值)定義為 L v| r=(0)(0)(0)L u| r(譯碼前):llllllp (u = +)p r| u = +1) p(u = +1)(0)(0)1| rL (u | r= ln)lllll= ln(0)p (u = -(| u = -1) p(u = -1)ll(0)(0)1| rp rlllllp r| u = +1)(s 0 ()2-( E / N ) r( 0 )-1(0)p(u = +1)p(u = +1)ell

28、l= ln+ lnl= ln+ lnl(| u = -1)()p(u = -1)p(u = -1)(0)2p r( 0 )-( E / N ) r+1es 0lllllp(ul = +1)= - Esr()()22(0)-1- r+1+ ln(0)llp(u = -1)N0lp(ul = +1)= 4 Es r(0) + ln= L r(0) + L (u )lc lalp(u = -1)N0l(6.17)其中 Es/N0 是信道 SNR,u 和 r(0) 都是用 E 歸一化的,Lc4Es/N0 是信道可靠度因子,La(ul)lls是比特 ul 的先驗 L 值。在校驗比特是v( j) 的情況下

29、,給定接收到的值為r( j) ,j1,2,Lll值(譯碼前)為:()()L v| r= L r+ Lv= L r, j = 1, 2( j )( j )( j )( j )( j )(6.18)llc l alc l譯碼器2L(2) (u ) - L r(0)lc l交織器譯碼器1解交織交織器因為在一個線性碼中信息比特等概,校驗比特為1 和1 的概率也是相同的,因此校驗比特的先驗 L 值為 0,即:p v= +1)( j )()lLv= ln( j )= 0, j = 1, 2(6.19)p v= -1)(al( j )l(注意:對于譯碼器 1 的第一次迭代,La (ul ) 也等于 0,之后

30、,信息比特的先驗 L 值就被另一個譯碼器輸出的外部 L 值所取代,后面會講到)。接收到的信道 L 值(軟信息) L r(0) (for ul)和 L r(1) (for v(1) )進入譯碼器 1,交織后的c lc ll信道 L 值(軟信息) L r(0) (for ul)和 L r(2) (for v(2) )進入譯碼器 2,譯碼器 1 的輸出包c lc ll括 2 項:給定接收到的向量(部分) r rr , rr ,Lrrùû 以及先驗輸入向量é(0) (1)(0) (1)(0) (1)(1)ë10011K -1 K -1 L (u ), L(1)

31、(u ),L L(1) (u)ùû ,每個信息比特的后驗 L 值(譯碼后)為éL(1)(1)ëaK -1aa0a1é p (u = +)ùú ;úû1| r , L(1)L (u ) = ln(1)l1aêêëp (u = -)l(1)1| r , Ll1a(2) 與 每 個信 息 比特 相 關 的 外 部 后 驗 概 率 值 ( 譯 碼 后 )L (u ) = L (u ) - éL r+ L (u ) ,該信息經交織后送給譯碼器 2,作為先驗值ù(1)

32、(1)(0)(2)ëûellc lelL(2) (u ) 。al同樣地,譯碼器 2 的輸出也包括兩項:é p (u = +)ù(2)1| r , L(1) L (u ) = lnl2aú ,其中 r2 是(部分)接收向(2)êêëp (u = -)l(2)1| r , L2aúûl量, L(2) 是先驗輸入向量;aL (u ) = L (u ) - éL r+ L (u ) 是譯碼器 2 產生的外部后驗 L 值,經過解交ù(2)(2)(0)(1)(2)ëû

33、ellc lel織后,作為先驗值 L(1) (u ) 反饋作為譯碼器 1 的輸入。al這樣,每個譯碼器的輸入包含三項:軟信道 L 值 L r(0) 、L r(1) (或 L r(2) )、以及從另一個c lc lc l譯碼器傳送的外部后驗 L 值 L(2) (u ) = L(1) (u ) (或 L(1) (u ) = L(2) (u ) )。注意:在譯碼器 1elalelal的初始迭代時,外部后驗 L 值 L(2) (u ) = L(1) (u ) 就是初始先驗 L 值 L (u ) (對于等概信息elalal比特,該值為 0),在譯碼器 1 的隨后迭代中,先驗 L 值 L(1) (u )

34、就用接收到的外部后驗 Lal值 L(2) (u ) (進行解交織處理后)代替;對于譯碼器 2,其第一次迭代和隨后的迭代都是相el同的,外部后驗 L 值一直都是 L(1) (u ) 。譯碼迭代處理,每個譯碼器將其外部 L 值傳送給另el一個譯碼器,形成一個Turbo 的效果,如圖 6.5 所示,使得譯碼結果越來越可靠。圖 6.5 汽車發的 Turbo 結構經過一定次數的迭代后,譯碼后的信息比特就從譯碼器 2 輸出的后驗 L 值 L(2) (u ) 中l到,如果該 L 值為正,就判為1,否則就判為1。值得一提的是:Turbo 的很多特性與 LDPC 很類似,如編碼方案都是產生隨機重量分布的碼、得譯

35、碼方法都是在迭代過利用了后驗概率似然值、都利用了外部信息的概念等。實際上,正是由于Turbo 碼的出現,才使得人們對 LDPC 碼的優點有了重新的認識。 例 6.3:使用 Log-MAP 算法進行迭代譯碼考慮一個 PCCC 結構的 Turbo 碼,它是由兩個(2,1,1)系統遞歸卷積碼6.6(a)所示,生成矩陣為:,如圖G(D)11/(1+D)(6.20)uv(0)v(1)pv(2)(a) -1/-1,+1 -1/-1,+1SSS111 -1/-1,-1 -1/-1,-1 -1/-1,-1 -1/-1,-1 S0S0S0(b)S0S0圖 6.6 (a)一個 2 態 Turbo 編碼器(b)(2

36、,1,1)分量碼的譯碼網格圖(K4)考慮輸入序列長度為 K4,包括一個結尾比特,這樣就相當于一個(12,3)的碼,碼率 R1/4。K4 的分量碼譯碼網格圖如圖 6.6(b)所示,其中的分支 關系為0 ® -1和1 ® +1 。設輸入 block 表示為 u u0, u1, u2, u3 , 交織后的輸入 block 表示為u¢ = u¢ , u¢, u¢ , u¢ = u , u , u , u ,第一個分量碼的校驗向量為p(1)= p(1) , p(1) , p(1) , p(1) ,012302130123第二個分量碼的

37、校驗向量為p(2) = p(2) , p(2) , p(2) , p(2) 。我們可以將 12 個比特表示成0123一個陣列形式,如圖 6.7(a)所示,其中輸入向量 u 決定的校驗向量 p(1)在前兩行,交織后的輸入向量u¢ 決定的校驗向量 p(2)在前兩列。(c)(b)接收到的L值(a)(12,3) PCCC編碼后的值第一次行譯碼后的外部L值第一次行和列譯碼后的軟輸出L值第一次列譯碼后的外部L值(f)(d)(e)第二次行譯碼后的外部L值第二次列譯碼后的外部L值第二次行和列譯碼后的軟輸出L值(g)(h)(i)圖 6.7(12,3)PCCC 的迭代譯碼過程為了更好地描述,假設給定特定

38、的比特,如圖 6.7(b)所示。同時,假設信道信噪比 Es/N0r = érr r, rr r, rr r, rr rù(0) (1) (2)(0) (1) (2)(0) (1) (2)(0) (1) (2)1/4(6.02dB),這樣,對應于接收向量ëû000111222333的信道 L 值為:= 4 Esr( j ) = r( j ) ,l = 0,1, 2, 3, j = 0,1, 2(6.21)L r( j )c lllN0同樣為了簡化描述,接收到的信道 L 值如圖 6.7(c)所示。在譯碼器 1 的第一次迭代中(行譯碼),應用 log-MAP

39、算法到 2 態(2,1,1)碼的網格圖中,來計算每個輸入比特的后驗 L 值 L(1) (u ) ,以及對應的傳送給譯碼器 2 的外部后驗 L 值l-0.19+0.18-1.30+2.16-0.98-0.81+0.07-0.21-0.01-0.01+0.43+0.77-0.40-0.07-0.80+2.03-0.88-0.69+0.23-0.04-0.32-0.38+0.77+0.470.81.00.10.51.81.61.11.61.20.21.21.1111111111111u0u1p(1)0p(1)1u2u3p(1)2p(1)3p(2)0p(2)2p(2)1p(2)3L(1) (u ) 。

40、類似地,在譯碼器 2 的第一次迭代中,log-MAP 算法用從譯碼器 1 收到的外部后el驗 L 值 L(1) (u ) 來計算每個比特的后驗 L 值 L(2) (u ) ,以及對應的傳送給譯碼器 1 的外部后ell驗 L 值 L(2) (u ) 。隨后的譯碼就這樣迭代進行。el在繼續討論這個例子之前,我們用 log-MAP 算法對后驗 L 值 L(ul ) 和外部后驗L 值 Le (ul ) 的一般式進行推導。為了簡化表示,定義向量為 v=(v0, v1, v2, v3),其中 vl=(ul,pl), l=0,1,2,3, ul 是輸入比特,pl 是校驗比特。類似地,接收到的向量表示為 r=

41、(r0, r1, r2, r3),其中rl = (ru , rp ) ,l=0,1,2,3, ru 是接收到的信元,對應于lll的輸入比特 ul; rp 是接收到的信l元,對應于的輸入比特 pl;輸入比特的后驗 L 值為(見第九章公式 9.67 和 9.72):L(u ) = ln é p(ul= +1| r) ùê p(u = -1| r) úlëlû(6.22)ååé= ln êp(sl = s¢, sl +1 = s, r) ù+l¢,s )ÎS(

42、súp(sl = s¢, sl +1 = s, r) úêëû-l¢,s )ÎS( s其中S+ 表示在 l 時刻狀態為 s = s¢ ,l1 時刻狀態為 s= s ,這種狀態轉移是由輸入比特l +1llu = +1 所引起的,所有這些狀態對的集合就S+ 。ll¢a ( s*¢)+g ( s¢,s )+ b ( s )*p(s , s, r) = el+1(6.23)ll其中a (s ) 、g (s , s) 和 b(s) 是 MAP 算法中a 、g 和 b 的對數域表達(見第

43、九章公式¢¢*l +1ll9.88)。注意:a (s ) 、g (s , s) 和 b(s) 分別表示 l 時刻之前、l 時刻和 l 時刻之后的接收¢¢*l +1ll序列對 l 時刻輸入比特估計的影響。對續輸出 AWGN 信道,信噪比為 Es/N0,我們可得到:u L (u )L分支度量: g (s , s) =¢+r × v ,l = 0,1, 2, 3*l alc(6.24a)lll22a(s) = max*ég (s , s) + a (s ) , l = 0,1, 2, 3¢¢ù*前向度

44、量:(6.24b)ëûl +1s¢Îslllb (s ) = max¢ég (s , s) + b(s)ùû¢*后向度量:(6.24c)ësÎsl+1ll +1l初始條件為:a (S ) = b (S) = 0 , a (S ) = b (S ) = -¥ 。*00400141分支度量進一步可寫為:u L (u )L()g (s , s) =¢*+ u r + pr l alcllull pl22(6.25)= ulpléL (u ) + L r 

45、9; +L r ,l = 0,1, 2, 32 ëul ûalcc pl2從圖 6.6(b)可看出,為了確定比特 u0 的后驗 L 值,在式(6.22)中的每個和式只有 1 項, 因為此時在網格圖中只有 1 個1 和1 的比特轉移,因此,比特 u0 的后驗 L 值可表示為:L(u0 ) = ln p(s¢ = S0 , s = S1, r) - ln p(s¢ = S0 , s = S0 , r)= éa (S ) + g (s¢ = S, s = S ) + b (S ) -ù*ëû0000111

46、33;a (S ) + g (s¢ = S , s = S ) + b (S )ùû*ë0000010= ì+ 1 éL (u ) + L r ù + 1 L r + b (S ) -ü(6.26a)*íý2 ë0 ûa0c u c p11î2þ0ì- 1 éL (u ) + L r ù - 1 L r + b (S)ü*íý2 ë0 ûa0c u c p10î2&#

47、254;0= Lc ru + La (u ) + L (u )00e0其中L (u ) º L r + b (S ) - b (S )*(6.26b)e0c p01110表示 u0 的外部后驗 L 值。式(6.26a)表明,在 log-MAP 譯碼器的輸出端計算出的 u0 的后驗 L 值包括三部分:Lc ru :對應0u0 的接收到的信道 L 值,是譯碼器輸入的一部分。La (u0 ) :u0 的先驗 L 值,也是譯碼器輸入的一部分。除了譯碼器 1 的第一次迭代,該項等于從另一個譯碼器輸出接收到的 u0 的外部后驗 L 值。(對于譯碼器 1 的第一次迭代,La (u0 ) = 0 )

48、Le (u0 ) :u0 的外部后驗 L 值,不依賴于 Lc ru 或 La (u0 ) 。該項送給另一個譯碼器作為先驗輸0入。類似地,我們可計算比特 u1 的后驗 L 值,從圖 6.6(b)可看出,在式(6.22)中的每個和式都有 2 項,因為此時在網格圖中有 2 個1 和1 的比特轉移,因此,比特 u1 的后驗 L 值可表示為:L(u1) = ln p(s¢ = S0 , s = S1, r) + p(s¢ = S1, s = S0 , r) -ln p(s¢ = S0 , s = S0 , r) + p(s¢ = S1, s = S1, r)= m

49、ax*a (S ) + g (s¢ = Sé, s = S ) + b (S ) ,ù*ëû1010121a (S ) + g (s¢ = S , s = S ) + b (S )ùûé*ë1111020- max*a (S ) + g (s¢ = S , s = S ) + b (S )ùû ,é*ë1010020a (S ) + g (s¢ = S , s = S ) + b (S )éù*ëû

50、;1111121= Lc ru + La (u1 ) + Le (u1 )(6.27a)1其中ìéùüù é11L (u ) = max* +L r + a (S ) + b (S ) , -L r + a (S ) + b (S )*íýêú êúe1c p1021c p1120îë2û ë2ûþll(6.27b)ìéùüù é11- max* -L r

51、+ a (S ) + b (S ) , +L r + a (S ) + b (S )*íýêú êúc p1020c p1121îë2û ë2ûþll【特別說明:在上面的推導中,使用了一個等式即:max*(z+x, z+y)=z+max*(x,y)】同樣會得到 u2 和 u3 的后驗 L 值:L(u2 ) = Lc ru + La (u2 ) + Le (u2 )2其中(6.28a)ìéùü1ù é1L (u ) =

52、 max* +L r + a (S) + b (S ) , -L r + a (S ) + b (S )*íýêú êúe2cps031cp2130îë2û ë2ûþ22(6.28b)ìéùü1ù é1- max* -L r + a (S ) + b (S ) , +L r + a (S ) + b (S )*íýêú êúc p2030c p2131

53、38;ë2û ë2ûþ22L(u3 ) = Lc ru + La (u3 ) + Le (u3 )3(6.29a)L (u ) = é- 1 L r + a (S ) + b (S )ù - é- 1 L r + a (S ) + b (S)ù*ëêûúëêûú (6.29b)e3c p33140c p3304022= a (S ) - a (S )*3130注意:接收到的校驗信元rp3影響 Le (u3 ) ,在圖 6.6(b)可看出,在 l3 時刻兩個分支p30,因此 rp 沒有攜帶任何有助于譯碼的信息。3在計算外部后驗 L 值 Le (ul ) ,l=0,1,2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論