基本介紹
- 中文名:低密度同比特檢查累積碼
- 學科:計算機
簡介,構成,低密度奇偶檢查碼,累加器,
簡介
其運作方式為Bit Node以二位元模組的方式相加到Check Nodes,根據tanner graph。 然後,Check nodes的值以modulo-two被累加。 利用這種方式,通道解碼端的解碼器可以避免有一個check node沒有被連結到任何bit node的狀況。 經過累加後,累加的位元會被存在一個緩衝器中,再逐漸傳送到解碼器。
在低密度奇偶檢查碼low-density parity-check (LDPC) codes在1990年代被重新發現之後,很多套用和改良出現。
構成
低密度同位元檢查累積碼編碼器有三個階段。第一個階段是一個可逆線性轉換矩陣,其中有資料來源序列。 第二個階段是一個一個rate的累加器,可以轉換長度為L的序列。第三個階段是變更或置換這個序列。 這個序列接下來會傳送到解碼器,總共需要傳送的碼數量由解碼器的回饋決定。
低密度同位元檢查累積碼可以套用在許多編解碼套用的系統當中。
低密度奇偶檢查碼
低密度奇偶檢查碼(Low-density parity-check code,LDPC code),是線性分組碼(linear block code)的一種,用於更正傳輸過程中發生錯誤的編碼方式。
在1962年,低密度奇偶檢查碼(LDPC code)即被Gallager提出,並被證明其錯誤校正能力非常接近理論最大值,香農極限(Shannon Limit);不過受限於當時技術,低密度奇偶檢查碼並無法實現。最近幾年,低密度奇偶檢查碼被重新發現,並隨著積體電路的技術演進,低密度奇偶檢查碼的實現逐漸可行,而成為各種先進通信系統的頻道編碼標準。
累加器
在中央處理器中,累加器(accumulator) 是一種暫存器,用來儲存計算產生的中間結果。如果沒有像累加器這樣的暫存器,那么在每次計算 (加法,乘法,移位等等) 後就必須要把結果寫回到記憶體,也許馬上就得讀回來。然而存取主存的速度是比從算術邏輯單元到有直接路徑的累加器存取更慢。
標準的例子就是把一列的數字加起來。一開始累加器設定為零,每個數字依序地被加到累加器中,當所有的數字都被加入後,結果才寫回到主存中。
現今的 CPU 通常有很多暫存器,所有或多數都可以被用來當作累加器。因為這個原因,"累加器" 這名詞就顯得有些老舊。這個名詞已經幾乎不在微處理器暫存器中使用,例如,運算暫存器的名稱中的符號以 "A" 開頭的表示是從 "accumulator" 這個歷史因素得來的 (有時候認為並非 "arithmetic")。也可能混淆的是暫存器的名字前置 "A" 也表示 "address",比如說像是Motorola 68000家族。
早期的 4 位、8 位微處理器,典型具有單個累加器。8051微控制器有兩個累加器:主累加器與從累加器,其中的從累加器只用於乘法(MUL AB)與除法(DIV AB)。乘法的 16 位結果放入兩個 8 位累加器中。除法時,商放入主累加器,餘數放入從累加器。8008的直接後繼產品——8080與8086,開創了x86指令集體系結構,仍然使用兩個累加器:主累加器 EAX 與從累加器 EDX 用於乘法與除法的大數運算。例如,MUL ECX 將把兩個 32 位暫存器 ECX 與 EAX 相乘,64 位結果放入 EAX 與 EDX。但是 MUL 與 DIV 之外的其他算術——邏輯指令(ADD、SUB、CMP、AND、OR、XOR、TEST)可以使用 8 個暫存器:EAX、ECX、EDX、EBX、ESP、EBP、ESI、EDI 作為目的運算元(即存儲結果的位置)。