卷積碼的約束長度
卷積碼
卷積碼是一種糾錯碼,其中無限長的資料流在透過噪聲通道傳輸之前進行編碼。訊息流透過滑動應用布林函式來編碼,從而生成一系列輸出位。
卷積碼最早由Elias於1955年提出。此後,許多數學家進行了許多中間研究。1973年,Viterbi開發了一種用於最大似然解碼方案的演算法,稱為Viterbi方案,它導致了現代卷積碼的出現。
卷積碼中的引數
為了生成卷積碼,資訊依次透過線性有限狀態移位暫存器。移位暫存器包含(-位)級和布林函式發生器。
卷積碼可以表示為,其中
k 是每次移入編碼器的位數。通常,k = 1 。
n 是對應於資訊位的編碼器輸出位數。
位元速率,Rc = k/n 。
編碼器儲存器,大小為K 的移位暫存器,是**約束長度**。
n 是當前輸入位和K 內容的函式。
編碼器的狀態由(K - 1 )位的數值給出。
卷積碼的約束長度
約束長度k是無反饋儲存器編碼器中移位暫存器的尺寸。這意味著生成輸出位需要多少級組合邏輯。
大小為k的移位暫存器儲存當前位和過去的(k -1)位。布林函式發生器對這些位進行運算以生成唯一的輸出模式。因此,約束長度可以表示為生成輸出模式所需的輸入位數。
例如,約束長度k = 3表示輸出模式是透過對當前輸入位和前兩個輸入位進行布林函式運算獲得的。
約束長度的選擇
約束長度會影響卷積碼的效能。
長約束長度的優點:
- 更強大的程式碼
- 更高的編碼增益
長約束長度的缺點:
- 更復雜的解碼器
- 更復雜的編碼邏輯
- 編碼和解碼延遲更大
卷積編碼器中約束長度的圖示
下圖顯示了一個卷積編碼器,其中k = 1, n = 2 和K = 3。
廣告