複製鏈接
請複製以下鏈接發送給好友

乘積碼

鎖定
乘積碼,並行級聯碼是一種用短碼構造長碼的編碼組合方式,其中乘積碼屬於並行級聯分組碼,而大名鼎鼎的Turbo 碼就是並行級聯卷積碼。乘積碼於1954 年由Elias 最早提出,隨即得到了廣泛應用。
中文名
乘積碼
提出者
Elias
提出時間
1954年
類    別
並行級聯分組

目錄

乘積碼步驟

(1)將信息元填入一個 2 k 行 1 k 列的矩陣;
(2)對矩陣的每一行,用一個( , ) 1 1 n k 系統分組碼 1 V 進行編碼,得到一個2 k 行1 n 列
的矩陣;
(3)對這個矩陣的每一列,用一個( , ) 2 2 n k 系統分組碼 2 V 進行編碼,最終得到一個2 n
行1 n 列的矩陣。
這樣得到的糾錯碼是一個1 2 1 2 (n ×n, k ×k)分組碼,所以稱為乘積碼。乘積碼的兩個編碼器是對排列順序不同的同一組信息元進行編碼,兩個編碼
器並行工作,沒有“內”“外”之分,統稱為分量編碼器。乘積碼也因此被稱為二維碼。同
樣,乘積碼也可以先按列編碼,再按行編碼,得到的碼字是完全一樣的。乘積碼的傳輸方式
也不唯一,可以按行傳輸、按列傳輸甚至按對角線傳輸。
與串行級聯碼一樣,傳統的乘積碼譯碼方法把譯碼過程分為兩步,先按行譯碼,給出判
決結果,再按列譯碼(先列後行也一樣)。這種譯碼方式的複雜度只是兩個分量譯碼器的複雜
度之和,譯碼過程簡單,但不能充分發揮乘積碼的糾錯能力。採用前面提到的迭代譯碼方式
能大大改善糾錯效果,但是為了使分組碼能採用迭代譯碼,需要將它表示成卷積碼的網格圖
形式。1974 年Bahl、Cocke、Jelinek 和Raviv 提出的BCJR 迭代譯碼算法利用分組碼的校驗
矩陣解決了這個問題.

乘積碼糾錯碼

糾錯碼(error correcting code),在傳輸過程中發生錯誤後能在收端自行發現或糾正的碼。僅用來發現錯誤的碼一般常稱為檢錯碼。為使一種碼具有檢錯或糾錯能力,須對原碼字增加多餘的碼元,以擴大碼字之間的差別 ,即把原碼字按某種規則變成有一定剩餘度(見信源編碼)的碼字,並使每個碼字的碼之間有一定的關係。關係的建立稱為編碼。碼字到達收端後,可以根據編碼規則是否滿足以判定有無錯誤。當不能滿足時,按一定規則確定錯誤所在位置並予以糾正。糾錯並恢復原碼字的過程稱為譯碼。檢錯碼與其他手段結合使用,可以糾錯。 [1] 
參考資料