天天看點

system generator 卷積編碼器快速設計

卷積碼

卷積碼是一種特殊的編碼方式,不僅與目前的輸入有關,還與之前的輸入有關。可以用一個多項式來表示一個卷積編碼,多項式表示有多少個移位寄存器以及他們怎麼與模2加法器相連。比如,下圖中的無回報的卷積編碼器有一個輸入、兩個輸出和兩個以為寄存器。

system generator 卷積編碼器快速設計

無回報的卷積編碼器的描述包含2個部分:限制長度和生成多項式,有回報的卷積編碼器還包含一個回報連接配接的多項式。限制長度是矢量,矢量的次元是輸入資料的每一個點的bits數量,矢量的長度是移位寄存器的長度加上1(目前輸入)。上圖中的編碼器限制長度是一個一維的矢量,因為輸入是一維的,矢量的長度是3,2個移位寄存器的長度加目前輸入1。

生成多項式,如果有k個輸入和n個輸出,則生成矩陣是一個Kxn的矩陣,第i行j列元素表示第i個輸入和第j個輸出之間的關系。上圖中的兩個矩陣分别為[110 111],生成多項式矩陣可以表示為[6 7]

matlab的函數poly2trellis是可以根據上面的參數設計編碼器。

對于上圖,狀态變化和輸出可以用正面的圖表示

system generator 卷積編碼器快速設計

即目前狀态如果為10,目前輸入為0話下一個狀态跳轉到01,兩個模2輸出為11;如果輸入為1,下一個狀态跳轉到11,輸出為00。

用simulink來實作上圖的編碼器,

system generator 卷積編碼器快速設計

給的輸入為一個symbol=1bit,資料為

 Columns 1 through 13

     1     0     1     1     0     1     1     1     0     0     0     1     1

  Columns 14 through 21

     0     1     1     0     0     0     0     1

編碼輸出為

  Columns 1 through 13

     1     1     1     1     1     0     0     0     1     0     1     0     0

  Columns 14 through 26

     0     0     1     1     0     0     1     0     0     1     1     0     0

  Columns 27 through 39

     1     0     1     0     0     0     1     0     0     1     0     0     0

  Columns 40 through 42

     0     1     1

OPTIMISM, PASSION & HARDWORK

繼續閱讀