【零基礎學會LTE】【3】LTE 36.212 咬尾卷積碼詳解


//本文均屬原創,轉載請注明出處。

//本課程以36.212 v10.4.0為教材,請自行到3GPP網站下載。

//由於保密的原因,暫不提供代碼查看。

 

模塊作用:對控制信息和廣播信道進行信道編碼,增強魯棒性。

相關模塊:速率匹配

咬尾卷積碼優缺點:克服了碼率損失的問題,並且適合迭代譯碼,但是譯碼復雜度增加了。

 

本文主要介紹咬尾卷積碼,協議上(v10.4.0)寫的很簡單,我一句句來分析下:

A tail biting convolutional code with constraint length 7 and coding rate 1/3 is defined.

這里有兩個概念,constraint length-約束長度;coding rate-編碼速率。

約束長度百度上搜下,介紹為:

1,約束長度(constraint length)= 寄存器個數(N)+1;
上面是通解,在Lin Shu 的《error control coding》書里是這么表達的。

2,但是在sklar的《digital comm》一書里面,約束長度=N

以上2種寫法之所以不同,是因為他們寄存器的意義不同,但是實際上是表達的是一個意思。約束長度就是,能輸出信號到加法器的點的和。

很好理解。

編碼速率和卷積碼有關,介紹如下:

若以(k,n,m)來描述卷積碼,其中k為每次輸入到卷積編碼器的bit數,n為每個k元組碼字對應的卷積碼輸出n元組碼字,m稱為約束長度,編碼速率k/n。

也很好理解。

 

下面是標准中的卷積碼生成圖:

其中D從左到右分別對應標准上的S0,S1,。。。S5。

初始化時,S0=Ck-1,S1=Ck-2,。。。S5=Ck-6。  //initialization

 

輸入第一個比特C0,d0=C0^Ck-2^Ck-3^Ck-5^Ck-6,  //^代表異或

d1,d2也是依樣畫葫蘆生成。                 //

 

當輸入第二個比特C1時,寄存器右移一位,最末位拋棄,即S5拋棄,第一位變為輸入位,即S0=C0。  //registered update

 

當最后的比特Ck-1進行編碼完成后,寄存器又回到了初始狀態,就像一條蛇咬住了自己的尾巴,這就是tailbiting的由來。因此,這個卷積碼也叫做咬尾卷積碼。

 

G0,G1,G2是生成公式,與輸入比特異或的寄存器為1,不異或的寄存器為0,因此,第一個輸出d0的生成公式是011011,同CRC的生成公式一樣,最高位要置1,因此生成公式為1011011,寫成八進制就是133.

 

編碼代碼如下:

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM