資訊理論-Turbo碼學習

白羊大大發表於2020-11-19

1.Turbo碼:

通道編碼的初期:分組碼實現編碼,缺點有二:只有當碼字全部接收才可以開始譯碼,需要精確的幀同步時延大,增益損失多

解決方案:卷積碼:充分利用前一時刻和後一時刻的碼組,延時小,缺點:計算複雜度高

Turbo碼,依靠迭代譯碼解決計算複雜性問題,通過在編譯碼器中交織器和解交織器的使用,有效地實現隨機性編譯碼的思想,通過短碼的有效結合實現長碼,達到了接近Shannon理論極限的效能(在兩個分量譯碼器之間迭代譯碼)

缺點:時延問題。

百科結論:Turbo碼採用反饋卷積碼是為了獲得更大的交織增益;Turbo碼的效能主要取決於它的有效自由距離;Turbo碼在低訊雜比下具有近Shannon界糾錯能力的原因;自由距離較低引起Turbo碼在中訊雜比下出現糾錯平臺現象等等。

                  在訊雜比較低的高噪聲環境下效能優越(通道條件差的行動通訊系統中有很大的應用潛力),而且具有很強的抗衰落、抗干擾能力

                  Turbo碼引起超乎尋常的優異譯碼效能,可以糾正高速率資料傳輸時發生的誤碼。在直擴(CDMA) 系統中採用Turbo 碼技術可以進一步提高系統的容量。

                  在短幀情況下的模擬結果表明短交織Turbo碼在AWGN通道和Rayleigh衰落下仍然具有接近通道容量的糾錯能力

提出背景:在加性白高斯噪聲的環境下, 採用編碼效率R=1/2、交織長度為 65536的Turbo碼,經過18次迭代譯碼後,在 Eb/N0=0.7dB時, 其誤位元速率到達10-5,與夏農極限只相差0.5dB。

2.Turbo碼理解:

將兩個簡單分量碼通過偽隨機交織器並行級聯來構造具有偽隨機特性的長碼,並通過在兩個軟入/軟出(SISO)譯碼器之間進行多次迭代實現了偽隨機譯碼。

交織:在實際應用中,位元差錯經常成串發生,這是由於持續時間較長的衰落谷點會影響到幾個連續的位元,而通道編碼僅在檢測和校正單個差錯和不太長的差錯串時才最有效(如RS只能糾正8個位元組的錯誤)。

為了糾正這些成串發生的位元差錯及一些突發錯誤,可以運用交織技術來分散這些誤差,使長串的位元差錯變成短串差錯,從而可以用前向碼對其糾錯。

偽隨機特性:頻譜會因資料出現連“1”和連“0”而包含大的低頻成分,不適應通道的傳輸特性,也不利於從中提取出時鐘資訊。解決辦法之一是採用擾碼技術,使訊號受到隨機化處理,變為偽隨機序列

擾碼不但能改善位定時的恢復質量,還可以使訊號頻譜平滑,使幀同步和自適應同步和自適應時域均衡等系統的效能得到改善。

3.Turbo碼的編碼結構:

三種:並行級聯卷積碼PCCC,序列級聯卷積碼SCCC,混合級聯卷積碼結構HCCC。

3.1並行級聯卷積碼結構:

是由兩個反饋的系統卷積編碼器通過一個交織器並行連線而成,編碼後的校驗位經過刪餘陣,從而產生不同的位元速率的碼字。

 

 

 分量編碼器:分量碼的最佳選擇是遞迴系統卷積碼:

Turbo碼編碼器一般包括兩個結構相同的遞迴系統卷積編碼器和一個隨機交織器。長度為N的資訊序列u一方面直接進入第1個分量編碼器RSC1,另一方面經過隨機交織器處理後送入第2個分量編碼器RSC2。隨機交織器的處理是輸入序號至輸出序號的一對映,它的輸出為長度相同,但位元位置經隨機排列的交織序列。兩個分量編碼器RSC1和RSC2分別產生兩個不同的校驗位元序列xx。為了提高Turbo碼的位元速率,除可以選用高位元速率的分量碼外,還可以採用打孔(Puncturing)技術從這兩個校驗序列中刪除一些校驗位,然後再與資訊序列x複用在一起輸出。

 遞迴系統卷積碼:BER效能在高訊雜比好,高位元速率(R≥2/3)的情況下,對任何訊雜比,它的效能均比等效的高位元速率(R≥2/3)的情況下,對任何訊雜比它的效能均比等效的非系統卷積碼NSC要好,

遞迴系統卷積碼(RSC)不同於一般的卷積碼器在於其結構中不僅有向前結構,還有向後反饋結構:

 

RSC 編碼器一般有2-5 級移位暫存器

Turbo 碼在高訊雜比下的效能主要由它的自由距離所決定。因為Turbo碼的自由距離主要由重量為2的輸入資訊序列所產生的碼字間的最小距離所決定,用本原多項式作為反饋連線多項式的分量編碼器所產生的碼字的最小重量為最大,因此當Turbo碼交織器的大小給定後,如果分量碼的反饋連線多項式採用本原多項式,則Turbo碼的自由距離會增加,從而Turbo碼在高斯訊雜比情況下的“錯誤平層(errorfloor)”會降低。錯誤平層效應指的是在中高訊雜比情況下,誤碼曲線變平。

      3.2交織器的設計

作用:可以使得Turbo碼的距離譜細化,即碼重分佈更為集中。

交織器實際上是一個一一對映函式,作用是將輸入資訊序列中的位元位置進行重置,以減小分量編碼器輸出校驗序列的相關性和提高碼重。通常在輸入資訊序列較長時可以採用近似隨機的對映方式,相應的交織器稱為偽隨機交織器。

交織:交織是對資訊序列加以重新排列的一個過程。如果定義一個集合A , A={1,2,…,N}。則交織器可以定義為一個一一對應的對映函式π(A-->A):J=π(i),(i,j屬於A) 這裡的i ,j 分別是未交織序列C 和交織序列C' 中的元素標號。對映函式可以表示為πN = (π⑴,π⑵,π⑶,…,π(N))。

有三原則:

最大程度的置亂原來的資料排列順序,避免置換前相距較近的資料在置換後仍然相距較近,特別是要避免相鄰的資料在置換後仍然相鄰

儘量提高最小碼重碼字的重量和減小低碼重碼字的數量;儘可能避免與同一資訊位直接相關的兩個分量編碼器中的校驗位均被刪除

對於不歸零的編碼器,交織器設計時要避兔出現"尾效應" 圖案。

交織器和分量碼的結合可以確保Turbo碼編碼輸出碼字都具有較高的漢明重量。在Turbo編碼器中交織器的作用是將資訊序列中的位元順序重置。當資訊序列經過第一個分量編碼器後輸出的碼字重量較低時,交織器可以使交織後的資訊序列經過第二個分量編碼器編碼後以很大的概率輸出較高重碼字,從而提高碼字的漢明重量:同時好的交織器還可以奇效地降低校驗序列間的相關性

內建交織器:

Turbo碼內建的交織器是在第2個分量編碼器RSC2編碼處理之前將資訊序列的N個位元的位置進行隨機排列,它起著關鍵的作用,很大程度上影響著Turbo碼的效能。通過隨機交織,使得編碼由簡單的短碼得到了近似長碼。當交織器充分大時,Turbo碼就具有近似於隨機長碼的特性。

4.迭代譯碼

Turbo碼譯碼器採用迭代譯碼方法,其中使用兩個分量譯碼器,並在第一分量譯碼器與第二分量譯碼器之間傳遞軟譯碼資訊,如圖3-35所示。無衝突交織器支援並行譯碼的主要原理是:在進行迭代譯碼時,第一分量譯碼器將資訊序列進行分段,每個分段使用單獨的一個專用的譯碼處理單元獨立地進行譯碼,各分段譯碼過程可以並行進行,提高譯碼速度。但是第二分量譯碼器也需要採用相同的、並行的分段譯碼方法,這就要求第二分量譯碼器的每個獨立專用的譯碼處理單元同一時刻訪問不同的分段,這樣才能避免資訊序列分段地訪問衝突,從而實現第二分量譯碼器的並行分段譯碼,提高整個迭代譯碼的速度。

 

 

圖3-36所示為無衝突交織器的示意圖,4個視窗(Windows)A、B、C、D分別代表獨立的分段譯碼,它們需要通過交織器獲取各自的原始資料,此時4個視窗A、B、C、D在讀取原始資料時,不會出現在同一時刻訪問同一分段,不會發生資源訪問衝突的問題,這樣保證了4個視窗A、B、C、D可以並行地分段譯碼。

 

5.譯碼原理

Turbo碼的譯碼演算法採用了最大後驗概率演算法:譯碼時首先對接收資訊進行處理,兩個成員譯碼器之間外部資訊的傳遞就形成了一個迴圈迭代的結構。由於外部資訊的作用,一定訊雜比下的誤位元率將隨著迴圈次數的增加而降低。但同時外部資訊與接受序列間的相關性也隨著譯碼次數的增加而逐漸增加,外部資訊所提供的糾錯能力也隨之減弱,在一定的迴圈次數之後,譯碼效能將不再提高。

在譯碼的結構上又做了改進,再次引入反饋的概念,取得了效能和複雜度之間的折衷。

譯碼演算法:MAP-Log-MAP演算法、Max-Log-MAP以及軟輸入軟輸出(SOVA)演算法。

 

 

 

 

特點:序列級聯、迭代譯碼、在迭代譯碼過程中交換的是外部資訊

5.1譯碼演算法

軟輸入軟輸出的譯碼演算法。軟輸出譯碼器的輸出不僅應包含硬判決值

標準MAP演算法

是對bahl軟輸出演算法做一定修正後,通過除以先驗分佈來消除正反饋的演算法。對於約束長度為M 1的卷積碼,其運算量為每位元6x3^M次乘法和5x2^M次加法。由於乘法運算量大,限制了
譯碼的規模和速度

Log-MAP演算法

實際上就是對標準MAP演算法中的似然全部用對數似然度來表示,這樣,乘法運算變成了加法運算。總的運算量成為6x2^M次加法,5x2^M次求最大運算和5x2^M次查表。

Max-Log-MAP演算法

是在上述對數域的演算法中,將似然值加法表示式中的對數分量忽略,是似然加法完全變成求最大值運算,這樣除了省去大部分的加法運算外,最大的好處是省去了對訊雜比的估計,使得演算法更穩健

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相關文章