TWI387210B - 用於編碼和解碼的裝置及方法 - Google Patents
用於編碼和解碼的裝置及方法 Download PDFInfo
- Publication number
- TWI387210B TWI387210B TW096127124A TW96127124A TWI387210B TW I387210 B TWI387210 B TW I387210B TW 096127124 A TW096127124 A TW 096127124A TW 96127124 A TW96127124 A TW 96127124A TW I387210 B TWI387210 B TW I387210B
- Authority
- TW
- Taiwan
- Prior art keywords
- ldpc
- matrix
- circuit
- coded signal
- information bit
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Description
本發明涉及通信系統,更具體地說,涉及通信系統中的LDPC(低密度奇偶校驗)信號的編碼和解碼處理。
資料通信系統已連續發展多年。最近其中一種引起極大興趣的通信系統是使用叠代糾錯編碼的通信系統。其中特別受關注的通信系統是使用LDPC編碼的通信系統。在指定的信噪比(SNR)之下,使用叠代碼的通信系統通常比使用其他編碼的通信系統具有更低的誤碼率(BER)。
本領域的研究連續的和主要的方向是努力持續降低SNR,以達到通信系統指定的BER。這個理想的目標是努力達到通信通道的香農(Shannon)極限。香農極限可視為具有特定的SNR的通信通道的資料率,該資料率能夠實現無差錯地通過通信通道進行傳輸。換句話說,對於指定的調製模式和編碼率,香農極限是通道容量的理論極限。
LDPC碼已經顯示出具有極好的解碼性能,在某些情況下可達到香農極限。例如,一些LDPC解碼器已經顯示出與理論上的香農極限只有0.3dB(分貝)的差距。雖然這個例子是通過使用長度為一百萬的不規則LDPC碼來實現的,但是,這已經表明LDPC碼在通信系統中的光明應用前景。
一般而言,在使用LDPC碼的通信系統中,在通信通道的
一端的第一通信設備具有編碼能力,位於通信通道的另一端的第二通信設備具有解碼能力。在很多情況之下,這兩種通信設備中的其中一種或者兩種都具有編碼能力和解碼能力(例如,在雙向通信系統中)。
在現有的通信設備中,要求具有編碼和解碼功能,增加了通信設備的複雜度。固定資產的投入增加,通常也會增加了整體成本。本領域一直都需要一種更有效的、更小的和更節約成本的手段來設計和實施這種通信設備。
本發明涉及一種裝置及操作方法,在附圖說明、具體實施方式以及權利要求中有進一步的描述。
根據本發明的一方面,提供一種裝置,包括:電路,其用於:計算當使用LDPC矩陣編碼第一資訊位元時生成的奇偶位元,所述第一資訊位元和所述奇偶位元形成了第一LDPC編碼信號的至少一部分;以及在進行第二LDPC編碼信號的解碼處理時進行故障校驗計算,以確定所述第二LDPC編碼信號內的第二資訊位元的最佳評估。
優選地:所述電路包括多個XOR(異或)邏輯閘,所述異或邏輯閘陣列設置,使得多個異或邏輯閘中的每個異或邏輯閘都對應於LDPC矩陣的非零元素;所述電路還包括多個
MUX(多工器),所述多個多工器用於修改所述多個異或邏輯閘的子集的連接性,所述多個異或邏輯閘與用於產生奇偶位的LDPC矩陣的至少一列對應;選擇信號,其用於在所述電路執行第一資訊位元的編碼以形成第一LDPC編碼信號時,選擇每個多工器的第一連接性;以及所述選擇信號能夠在所述電路執行第二LDPC編碼信號的解碼處理時,選擇每個多工器的第二連接性。
優選地:所述奇偶位是第一奇偶位;所述第一奇偶位被提供給所述電路中計算第二奇偶位元的部分;以及所述第一資訊位元、第一奇偶位以及第二奇偶位形成所述第一LDPC編碼信號的至少一部分。
優選地:所述第一LDPC編碼信號載入到通信通道中;以及自所述通信通道接收所述第二LDPC編碼信號。
優選地:所述第一LDPC編碼信號載入到通信通道中;自所述通信通道接收所述第二LDPC編碼信號;以及所述通信通道是讀通道,連接到硬碟驅動器(HDD)的存儲媒介。
優選地,所述裝置還包括:
記憶體,其用於:在編碼第一資訊位元以形成第一LDPC編碼信號時,存儲第二LDPC編碼信號;以及在執行所述第二LDPC編碼信號的解碼處理時,存儲所述第一LDPC編碼信號。
優選地,在第一時間將所述第一LDPC編碼信號載入到通信通道;以及在第二時間從第二通信通道接收所述第二LDPC編碼信號;還包括:記憶體,其能夠:在編碼第一資訊位元以形成第一LDPC編碼信號時存儲第二LDPC編碼信號;以及在執行所述第二LDPC編碼信號的解碼處理時,存儲所述第一LDPC編碼信號。
優選地,所述LDPC矩陣對應於系統的LDPC碼。
優選地:所述LDPC矩陣分為第一子矩陣和第二子矩陣;所述第二子矩陣包括用於產生奇偶位的所述LDPC矩陣中的至少一列;所述第二子矩陣是下三角矩陣,其中每個非零元素都位於對角線上或者在對角線下方;以及所述對角線從所述第二子矩陣的最左上角到最右下角貫
穿所述第二子矩陣。
優選地:所述電路是所述裝置的第一電路;所述裝置包括第一電路和第二電路;以及所述裝置在第二LDPC編碼信號的解碼處理中使用所述第一和第二電路來確定所述第二LDPC編碼信號中的第二資訊位元的最佳評估。
優選地,所述裝置是通信收發器,其用於:通過第一通信通道發射第一LDPC編碼信號;以及從第二通信通道接收第二LDPC編碼信號。
根據本發明的一方面,提供一種裝置,包括:編碼器電路,其用於使用LDPC矩陣編碼第一資訊位元,讓所述第一資訊位元和奇偶位元形成第一LDPC編碼信號的至少一部分;解碼器電路,其用於使用LDPC矩陣以解碼第二LDPC編碼信號,以確定所述第二LDPC編碼信號內的第二資訊位元的最佳評估;其中:所述編碼器電路和所述解碼器電路使用共用電路,所述共用電路用於:計算當使用LDPC矩陣編碼第一資訊位元時生成的奇偶位元,所述第一資訊位元和所述奇偶位元形成了第
一LDPC編碼信號的至少一部分;以及在進行第二LDPC編碼信號的解碼處理時進行故障校驗計算,以確定所述第二LDPC編碼信號內的第二資訊位元的最佳評估。
優選地:在所述第二LDPC編碼信號的解碼處理過程中,所述解碼器電路也使用至少一個附加電路來確定所述第二LDPC編碼信號內的第二資訊位元的最佳評估。
優選地:所述共用電路包括多個異或邏輯閘,所述異或邏輯閘陣列設置,使得多個異或邏輯閘中的每個異或邏輯閘都對應於LDPC矩陣的非零元素;所述電路還包括多個多工器,所述多個多工器用於修改所述多個異或邏輯閘的子集的連接性,所述多個異或邏輯閘與用於產生奇偶位的LDPC矩陣的至少一列對應;選擇信號,其用於在所述電路執行第一資訊位元的編碼以形成第一LDPC編碼信號時,選擇每個多工器的第一連接性;以及所述選擇信號能夠在所述電路執行第二LDPC編碼信號的解碼處理時,選擇每個多工器的第二連接性。
優選地:所述奇偶位是第一奇偶位;所述第一奇偶位被提供給所述電路中計算第二奇偶位元
的部分;以及所述第一資訊位元、第一奇偶位以及第二奇偶位形成所述第一LDPC編碼信號的至少一部分。
優選地,在第一時間將所述第一LDPC編碼信號載入到通信通道;以及在第二時間從第二通信通道接收所述第二LDPC編碼信號;還包括:記憶體,其用於:在編碼第一資訊位元以形成第一LDPC編碼信號時存儲第二LDPC編碼信號;以及在執行所述第二LDPC編碼信號的解碼處理時,存儲所述第一LDPC編碼信號。
根據本發明的另一方面,提供一種方法,包括:使用LDPC矩陣來編碼第一資訊位元,包括計算奇偶位元,讓第一資訊位元和奇偶位元形成第一LDPC編碼信號的至少一部分;以及解碼第二LDPC編碼信號,來確定所述第二LDPC編碼信號中的第二資訊位元的最佳評估,包括執行故障校驗計算,其中:使用所述共用電路來執行所述編碼和故障校驗計算。
優選地:
所述共用電路包括多個異或邏輯閘,所述異或邏輯閘陣列設置,使得多個異或邏輯閘中的每個異或邏輯閘都對應於LDPC矩陣的非零元素;所述電路還包括多個多工器,所述多個多工器用於修改所述多個異或邏輯閘的子集的連接性,所述多個異或邏輯閘與用於產生奇偶位的LDPC矩陣的至少一列對應;還包括:在所述電路執行第一資訊位元的編碼以形成第一LDPC編碼信號時,選擇每個多工器的第一連接性;以及在所述電路執行第二LDPC編碼信號的解碼處理時,選擇每個多工器的第二連接性。
優選地,所述方法還包括:在第一時間將第一LDPC編碼信號載入到通信通道中;以及在第二時間從所述通信通道接收第二LDPC編碼信號;以及在編碼第一資訊位元以形成第一LDPC編碼信號時存儲第二LDPC編碼信號,或者在對第二LDPC編碼信號進行解碼處理時存儲第一LDPC編碼信號。
優選地:所述LDPC矩陣對應於系統的LDPC碼;所述LDPC矩陣分為第一子矩陣和第二子矩陣;
所述第二子矩陣包括用於產生奇偶位的所述LDPC矩陣中的至少一列;所述第二子矩陣是下三角矩陣,其中每個非零元素都位於對角線上或者在對角線下方;以及所述對角線從所述第二子矩陣的最左上角到最右下角貫穿所述第二子矩陣。
比較本發明後續將要結合附圖介紹的系統,現有技術的其他局限性和弊端對於本領域的普通技術人員來說是顯而易見的。
很多通信系統結合使用LDPC碼。雖然說,在一些應用場合中,編碼器和解碼器可以同時使用,但是在很多應用場合中(例如,在硬碟驅動器(HDD)應用中),他們的操作是互斥的。本申請提供一種能夠使共用電路(和/或功能模組)執行編碼處理以及執行解碼處理所需的故障校驗的新方法。在編碼與解碼是互斥操作(即,在同一時刻只能執行其中之一)的應用場合中,這種組合的編碼器和故障校驗器考慮了電路(和/或功能模組)的結構,通過僅僅向解碼器的故障校驗器添加最小的選擇功能,讓編碼器虛擬上無損耗。在雙工模式(即,基本同時接收和發送信號)運行的通信系統中需要進行這樣的處理,在處理一個信號時,可使用記憶體來管理另一個信號的存儲(例如,在乒乓式記憶體配置或者在其他記憶體配置中,允
許第一信號在第一時刻使用共用處理資源,允許第二信號在第二時刻使用共用的處理資源)。
數位通信系統的目標是從一個位置或者子系統將數位資料無差錯地或者以可接收的低誤碼率傳輸到另一個位置或者子系統。如圖1所示,可在廣泛範圍的多種通信系統的多種通信通道上傳輸資料,例如磁媒介、無線、光纖、同軸電纜和其他類型的媒介。
圖1是通信系統100的一個實施例的示意圖。
如圖1所示,本實施例的通信系統100包括通信通道199,通信通道199將一端的通信設備110(包括具有編碼器114的發射器112和具有解碼器118的接收器116)連接到另一端的另一個通信設備120(包括具有編碼器128的發射器126和具有解碼器124的接收器122)。在一些實施例中,通信設備110或者120僅僅包括接收器或者發射器。可實施通信通道199的媒介有不同的類型(例如,使用衛星碟形天線132和134的衛星通道130、使用發射塔142和144和/或本地天線152和154的無線通信通道140、有線通信通道150、使用電光(E/O)介面162和光電(O/E)介面164的光纖通信通道160)。另外,可實施多於一種類型的媒介並將它們連接在一起,來形成通信通道199。
為減少發生在通信系統中不期望的傳輸錯誤,通常使用糾
錯和通道編碼方案。通常,這些糾錯和通道編碼方案包括在發射器上使用編碼器和在接收器上使用解碼器。
圖2和圖3是通信系統的其他實施例的示意圖。
參考圖2,通信系統200包括通信設備210,通信設備210通過通信通道299連接到另一個設備290。通信設備210包括編碼器220和解碼器230。共用的功能模組和/或電路部分(如圖功能模組和/或電路240所示)包括編碼器220和故障計算器232,解碼器230在進行解碼處理時會用到故障計算器232。要注意,解碼器230也包括另外的電路和/或功能模組,以有效地對其中的LDPC碼進行解碼處理,如附圖標記239所示。
要注意,功能模組和/或電路240可以是嚴格的電路(例如,使用某些的邏輯閘如異或(XOR)閘和選擇功能如MUX(多工器))。功能模組和/或電路240也可以是嚴格的軟體,例如可用在數位信號處理器(DSP)或者類似的設備中。選擇性地,功能模組和/或電路240可以用硬體和軟體的組合來實現,而不脫離本發明的範圍和實質。
在其他的實施例中,使用共用的處理設備、單個的處理設備或者多個處理設備來實現功能模組和/或電路240。所述處理設備可以是微處理器、微控制器、數位信號處理器、微電腦、中央處理單元、現場可編程閘陣列、可編程邏輯設備、狀態機、邏輯電路、類比電路、數位電路和/或能夠基於操作指令處理
(類比和/或數位)信號的任何設備。功能模組和/或電路240可連接到記憶體,記憶體可存儲操作指令,這些操作指令使功能模組和/或電路240進行編碼和故障計算處理,如在LDPC編碼的信號的編碼處理和解碼處理所要求的那樣。
這種記憶體可以是單個的存儲設備或者多個存儲設備。該存儲設備可以是唯讀記憶體、隨機存取記憶體、易失性記憶體、非易失記憶體、靜態記憶體、動態記憶體、快閃記憶體和/或存儲數位信號的任何設備。要注意,當功能模組和/或電路240通過狀態機、類比電路、數位電路和/或邏輯電路實施它的一個或多個功能時,存儲著對應的操作指令的記憶體嵌入到包含所述狀態機、類比電路、數位電路和/或邏輯電路的電路中。
通信設備299通過通信通道所連接的其他的設備290可以是另一個通信設備292、存儲媒介(如硬碟驅動器(HDD)),或者能夠接收或發射信號的任何其他類型的通信設備310。在一些實施例中,通信通道299是能夠在第一時間發射第一信號以及在第二時間接收第二信號的雙向通信通道。
參考圖3,通信系統3600包括通信設備310,通信設備310通過通信通道399連接到另一個設備390。通信設備310包括編碼器320和解碼器330。共用的功能模組和/或電路部分(如圖功能模組和/或電路340所示)包括編碼器320和故障計算器332,解碼器330在進行解碼處理時會用到故障計算器
332。要注意,解碼器330也包括另外的電路和/或功能模組,以有效地對其中的LDPC編碼信號進行解碼處理,如附圖標記339所示。
另外,通信設備310包括記憶體360,記憶體360連接到每個編碼器320和解碼器330。記憶體360可操作地存儲第一LDPC編碼信號,而編碼器320對第二LDPC編碼信號進行編碼處理,或者解碼器330對第二LDPC編碼信號進行解碼處理。記憶體360允許通信設備310對一種LDPC編碼信號進行處理(例如,編碼或者解碼),而另一種LDPC編碼信號存儲在記憶體360中。在通信設備310連接到在指定時間只能發送或者接收的通信通道399(例如,連接到HDD中的通信通道,在指定的時間裏這種通信道只能讀或者寫)之時,記憶體360可用於幫助對各種LDPC編碼信號進行合適的緩存和存儲管理。
要注意,功能模組和/或電路340可以是嚴格的電路(例如,使用一定的邏輯閘如異或(XOR)閘和選擇功能如MUX(多工器))。功能模組和/或電路340也可以是嚴格的軟體,例如可用於數位信號處理器(DSP)或者類似的設備中。選擇性地,功能模組和/或電路340可以用硬體和軟體的組合來實現,而不脫離本發明的範圍和實質。
在其他的實施例中,使用共用的處理設備、單個處理設備
或者多個處理設備來實現功能模組和/或電路340。所述處理設備可以是微處理器、微控制器、數位信號處理器、微電腦、中央處理單元、現場可編程閘陣列、可編程邏輯設備、狀態機、邏輯電路、類比電路、數位電路和/或能夠基於操作指令處理(類比和/或數位)信號的任何設備。功能模組和/或電路340可連接到記憶體,記憶體可存儲操作指令,這些操作指令使功能模組和/或電路340進行編碼和故障計算處理,如在LDPC編碼的信號的編碼處理和解碼處理所要求的那樣。
這種記憶體可以是單個的存儲設備或者多個存儲設備。該存儲設備可以是唯讀記憶體、隨機存取記憶體、易失性記憶體、非易失記憶體、靜態記憶體、動態記憶體、快閃記憶體和/或存儲數位信號的任何設備。要注意,當功能模組和/或電路340通過狀態機、類比電路、數位電路和/或邏輯電路實施它的一個或多個功能時,存儲著對應的操作指令的記憶體嵌入到包含所述狀態機、類比電路、數位電路和/或邏輯電路的電路中。
另外,設置了選擇器350,使其與記憶體360協同工作,使得將第一信號存儲到記憶體360或者從記憶體360讀取第一信號時,不與第二信號存儲到記憶體360或者從記憶體360讀取第二信號衝突。選擇器350也有效地實現連接性修改,在功能模組和/或電路340執行編碼處理或解碼處理時,需要進行這種連接性修改。
通信設備399通過通信通道所連接的其他的設備390可以是另一個通信設備392、存儲媒介(如硬碟驅動器(HDD)),或者能夠接收或發射信號的任何類型的通信設備。在一些實施例中,通信通道399是能夠在第一時間發射第一信號以及在第二時間接收第二信號的雙向通信通道。在另外的實施例中,通信通道399是能夠進行雙工操作的雙向通信通道(也就是說,在幾乎相同的時間裏同時傳輸第一信號和接收第二信號)。
下面的描述用於幫助讀者理解如何以及為什麽能夠在功能模組和/或電路中組合編碼和故障檢測操作。
設H是一個(n,k)LDPC碼的m x n奇偶校驗矩陣。那麽,H可以寫成[U|T],其中,U是m x k的子矩陣,T是m x(n-k)的子矩陣。可處理H,讓T本質上是准下三角矩陣(即,只要i<j,且Ti,i=1,元素Ti,j=0)。換句話說,第二子矩陣T,是下三角矩陣,該第二子矩陣中的0值或者沿著第二子矩陣T的對角線,或者位於第二子矩陣的對角線下方。還可以看到,子矩陣U中的列對應於根據系統TDPC碼編碼資訊位元,子矩陣T的列對應於產生奇偶位(有時候稱為冗餘或者編碼位元)。對角線定義為從第二子矩陣的最左上角的元素到最右下角的元素、橫貫第二子矩陣的線。子矩陣T的准下三角特性,允許反饋類型的第一奇偶位元,在編碼過程中可用於產生第二奇偶位等等。
如果x0,x1,...,xk-1是資訊位元,那麽,編碼器可使用下面的公司計算奇偶位p0,p1,...,pn-k-1:
可以看到,可使用編碼處理來產生系統LDPC編碼信號,使資訊位元x0,x1,...,xk-1經過編碼處理之後,所得到的碼字包括相同的資訊位元x0,x1,...,xk-1以及奇偶位p0,p1,...,pn-k-1。
另一方面,設y0,y1,...,yn-1是當前評估的碼字。叠代LDPC解碼器中的一個步驟是檢查故障碼s0,s1,...,sm-1是否都是0。換句話說,根據碼字的當前評估,y0,y1,...,yn-1,確定每行的點積(dot product)是否是0(也就是,是否0=Hyt,其中,yt是碼字的當前評估y0,y1,...,yn-1的轉置矩陣)。每個故障碼si,可由下式計算:
要注意這兩個等式的相似性。例如,如果將y0,y1,...,yk-1到x0,x1,...,xn-1以及y0,y1,...,yn-1都設置為0,那麽由故障等式給出的s0與編碼器產生的第一奇偶位p0相同。隨後,如果除了yk設置成p0之外,所有的yi’都是相同,那麽,故障等式給出的s1與p1相同。重復這種處理,可以看到通過用pi-1重復取代yk+i-1,可通過故障等式產生所有的pi。
圖4是組合編碼器和故障校驗器400的一個實施例。為了
說明,下面的低密度奇偶校驗矩陣H假定為:
低密度奇偶校驗矩陣H具有相同的特性,上述的分割如下表示:H=[U|T];
從圖4可以看到,低密度奇偶校驗矩陣H的每個非零元素都用對應的異或(XOR)閘表示。XOR閘405具有對應的附圖標號,對角線上每個相似的元素也是XOR閘。有多個MUX,它們的選擇基於組合的編碼器和故障校驗器400是在執行編碼處理還是故障校驗(例如,在解碼處理時執行)。MUX僅需根據整個低密度奇偶校驗矩陣H的T子矩陣完成處理,使用大致位於附圖中間的豎向的點劃線示出這種劃分。
MUX 415具有對應的附圖標號,對角線上每個相似的元件都是MUX。
要注意,當組合的編碼器和故障校驗器400執行故障校驗時,每個MUX都根據0進行連接;當組合的編碼器和故障校驗器400執行編碼時,每個MUX都根據1進行連接。換句話
說,要使用組合的編碼器和故障校驗器400執行解碼處理所需的故障計算,所有MUX的選擇信號都要設置到“0”,每個輸入in[0],in[1],...,in[7]設置到y0,y1,...,y7;接觸,在out[0],out[1],out[2]出現故障s0,s1,s2。
選擇性地,為了將這個組合的編碼器和故障校驗器400用作編碼器,所有MUX的選擇信號要設置到1,其每個輸入in[0],in[1],in[2],in[3],in[4]設置到x0,x1,x2,x3,x4。在編碼處理中,奇偶位p0,p1,p2將出現在out[0],out[1],out[2]上。(要注意,在編碼時,不是所有8個輸入in[0],in[1],...,in[7]都用作輸入,而是只有in[0],in[1],in[2],in[3],in[4]或者與子矩陣U對應的輸入用作輸入)。
用另一種方式看這個功能,組合的編碼器和故障校驗器400包括多個XOR(異或)邏輯閘,它們以陣列設置,讓多個XOR閘的每個XOR對應於LDPC矩陣的非零元素以及多個MUX;這多個MUX能夠修改多個XOR閘的子集的連接性,該多個MOR門與用於在編碼過程中產生奇偶位的LDPC矩陣的至少一個列對應。在電路編碼第一資訊位元以形成第一LDPC編碼信號之時,選擇信號能夠選擇每個MUX的第一連接性;在電路解碼第二LDPC編碼信號時,選擇信號能夠選擇每個MUX的第二連接性。
選擇功能由MUX執行,可用多種方式實現。例如,可使
用其他的選擇功能來實現所述組合的編碼器和故障校驗器400內的編碼功能和故障計算功能的切換。
圖5是選擇功能500的替換實施例,如圖4的組合編碼器和故障校驗器400所用的。正如使用兩個MUX來實現一樣,左手邊的選擇功能500相當於圖4中使用的選擇功能。從圖5可以看到,右手邊所示的替換實施例可實現相同的連接性。
圖6是為准對角低密度奇偶校驗矩陣H實施的組合編碼器和故障校驗器的實施例的示意圖。
如果T是准三角矩陣,即對於i<j且i≠j,ti,i=1和ti,j=0,那麽,可以進行簡化。例如,如果:
那麽,組合的編碼器和故障校驗器600顯示一種可能實施的編碼器/故障校驗器。
在上述的實施例中,准三角低密度奇偶校驗矩陣H也具有相同的屬性和分割,如:H=[U|T];
如圖4的實施例所示,當圖6的組合的編碼器和故障校驗
器600執行故障校驗時,每個MUX都根據0進行連接;當圖6的組合的編碼器和故障校驗器600執行編碼時,每個MUX都根據1進行連接。當低密度奇偶校驗矩陣H的子矩陣T是三角時,可以降低複雜度。
圖7是在圖6的組合編碼器和故障校驗器中使用的選擇功能的選擇性實施例的示意圖。左手邊的選擇功能700相當於圖6中使用的選擇功能。從圖7可以看到,在右手邊所示的替換實施例中可實現相同的連接性。
上面的實施例描述的配置僅僅是實現連接性的一種可能的方式。在其他的電路實現中,共用LDPC編碼器的硬體和對應LDPC解碼器的故障校驗器也可行的,這不脫離本發明的範圍和實質。
具體地,在其他可能的實施例中,可以用XOR樹來替代前述實施例中的XOR鏈和/或在管道級或者時間多工中進行計算。在所有的情況之下,都可以使用與本發明所述的類似的方法,增強故障校驗器以執行編碼。這能夠減少的實際通信設備的整體大小,在一些情況之下,也能降低總體成本。
圖8和圖9是用於對LDPC編碼信號執行編碼和解碼的方法的實施例的示意圖。
參考圖8,方法800首先使用LDPC(低密度奇偶校驗)矩陣來編碼第一資訊位元,包括計算奇偶位元,讓第一資訊位
元和奇偶位元形成第一LDPC編碼信號的至少一部分,如步驟810所示。接著,方法800解碼第二LDPC編碼信號來確定所述第二LDPC編碼信號中的第二資訊位元的最佳評估,包括執行故障校驗計算,如步驟820所示。要注意,使用共用的電路830來執行編碼和故障校驗計算。
參考圖9,方法900首先通過通信通道接收第一信號,如步驟910所示;並在幾乎相同的時間裏,執行第二LDPC編碼信號的解碼,如步驟912所示。接著,存儲第一LDPC編碼信號到記憶體中,如步驟920所示;並在幾乎相同的時間裏,將第二LDPC編碼信號載入通信通道,如步驟922所示。接著,方法900解碼存儲在記憶體中的第一LDPC編碼信號930。
要注意,可以進行相反類型的操作(例如,在載入另一個信號到通信通道中時,解碼已經存儲在記憶體的一個信號;等等)。在將另一個信號載入到通信通道或者從通信通道接收另一個信號時,可使用合適的記憶體管理方法來處理一個信號(即,編碼或解碼)。根據這種存儲管理方法可以實現一些變形,但是這並不脫離本發明的範圍和實質。
要注意,上面參照附圖描述的方法也可以在任何的合適系統和/或裝置(例如,通信系統、通信設備、通信發射器、通信接收器、通信收發器和/或功能模組)中實現,這並不脫離本發明的範圍和實質。
根據上面對本發明的內容的詳細描述,其他的改變和變化將是顯而易見的;顯然,這些改變和變化不脫離本發明的範圍和實質。
100‧‧‧通信系統
110‧‧‧通信設備
112‧‧‧發射器
114‧‧‧編碼器
116‧‧‧接收器
118‧‧‧解碼器
120‧‧‧通信設備
122‧‧‧接收器
124‧‧‧解碼器
126‧‧‧發射器
128‧‧‧編碼器
130‧‧‧衛星通道
132、134‧‧‧衛星碟形天線
140‧‧‧無線通信通道
142、144‧‧‧發射塔
150‧‧‧有線通信通道
152、154‧‧‧本地天線
160‧‧‧光纖通信通道
162‧‧‧電光(E/O)介面
164‧‧‧光電(O/E)介面
199‧‧‧通信通道
200‧‧‧通信系統
210‧‧‧通信設備
220‧‧‧編碼器
230‧‧‧解碼器
232‧‧‧故障計算器
239‧‧‧附圖標記
240‧‧‧功能模組和/或電路
290‧‧‧其他的設備
292‧‧‧通信設備
299‧‧‧通信設備
300‧‧‧通信系統
310‧‧‧通信設備
320‧‧‧編碼器
330‧‧‧解碼器
332‧‧‧故障計算器
339‧‧‧附圖標記
340‧‧‧功能模組和/或電路
350‧‧‧選擇器
360‧‧‧記憶體
390‧‧‧設備
392‧‧‧通信設備
399‧‧‧通信通道
400‧‧‧組合編碼器和故障校驗器
405‧‧‧異或(XOR)閘
415‧‧‧MUX(多工器)
500‧‧‧選擇功能
600‧‧‧組合的編碼器和故障校驗器
700‧‧‧左手邊的選擇功能
830‧‧‧共用的電路
930‧‧‧第一LDPC編碼信號
圖1是通信系統的一個實施例的示意圖;圖2和圖3是通信系統的其他實施例的示意圖;圖4是組合編碼器和故障校驗器的實施例的示意圖;圖5是圖4的組合編碼器和故障校驗器中使用的選擇功能的選擇性實施例的示意圖;圖6是為准對角低密度奇偶校驗矩陣H實施的組合編碼器和故障校驗器的實施例的示意圖;圖7是在圖6的組合編碼器和故障校驗器中使用的選擇功能的選擇性實施例的示意圖;圖8和圖9是用於對LDPC編碼信號執行編碼和解碼的方法的實施例的示意圖。
400‧‧‧組合編碼器和故障校驗器
405‧‧‧異或(XOR)閘
415‧‧‧MUX(多工器)
Claims (8)
- 一種用於編碼和解碼的裝置,其特徵在於,包括:電路,其用於:計算當使用LDPC矩陣編碼第一資訊位元時生成的奇偶位元,所述第一資訊位元和所述奇偶位元形成了第一LDPC編碼信號的至少一部分;以及在進行第二LDPC編碼信號的解碼處理時進行故障校驗計算,以確定所述第二LDPC編碼信號內的第二資訊位元的最佳評估;所述LDPC矩陣對應於系統的LDPC碼,所述LDPC矩陣分為第一子矩陣和第二子矩陣,所述第一子矩陣的列對應於根據系統LDPC碼資訊位元,所述第二子矩陣包括用於產生奇偶位的至少一列,所述第二子矩陣是下三角矩陣,其中每個非零元素都位於對角線上或對角線下方;所述電路包括多個異或邏輯閘,所述異或邏輯閘陣列設置,使得多個異或邏輯閘中的每個異或邏輯閘都對應於LDPC矩陣的非零元素;所述電路還包括多個多工器,所述多個多工器用於修改所述多個異或邏輯閘的子集的連接性,所述多個異或邏輯閘與用於產生奇偶位的LDPC矩陣的至少一列對應;其中,每個多工器在所述電路執行第一資訊位元的編碼以形成第一LDPC編碼信號時,選擇其第一連線性;在所述電路執行第二LDPC編碼信號的解碼處理時,選擇其第二連線 性。
- 如申請專利範圍第1項所述的裝置,其中,所述奇偶位是第一奇偶位;所述第一奇偶位被提供給所述電路中計算第二奇偶位元的部分;以及所述第一資訊位元、第一奇偶位以及第二奇偶位形成所述第一LDPC編碼信號的至少一部分。
- 如申請專利範圍第1項所述的裝置,其中,所述第一LDPC編碼信號載入到通信通道中;以及自所述通信通道接收所述第二LDPC編碼信號。
- 如申請專利範圍第1項所述的裝置,其中,所述第一LDPC編碼信號載入到通信通道中;自所述通信通道接收所述第二LDPC編碼信號;以及所述通信通道是讀通道,連接到硬碟驅動器(HDD)的存儲媒介。
- 如申請專利範圍第1項所述的裝置,其中,所述裝置還包括:記憶體,其用於:在編碼第一資訊位元以形成第一LDPC編碼信號時,存儲第二LDPC編碼信號;以及在執行所述第二LDPC編碼信號的解碼處理時,存儲所述第一LDPC編碼信號。
- 一種用於編碼和解碼的裝置,其特徵在於,包括:編碼器電路,其用於使用LDPC矩陣編碼第一資訊位元,讓所述第一資訊位元和奇偶位元形成第一LDPC編碼信號的至少一部分;解碼器電路,其用於使用LDPC矩陣以解碼第二LDPC編碼信號,以確定所述第二LDPC編碼信號內的第二資訊位元的最佳評估;其中:所述編碼器電路和所述解碼器電路使用共用電路,所述共用電路用於:計算當使用LDPC矩陣編碼第一資訊位元時生成的奇偶位元,所述第一資訊位元和所述奇偶位元形成了第一LDPC編碼信號的至少一部分;以及在進行第二LDPC編碼信號的解碼處理時進行故障校驗計算,以確定所述第二LDPC編碼信號內的第二資訊位元的最佳評估;所述LDPC矩陣對應於系統的LDPC碼,所述LDPC矩陣分為第一子矩陣和第二子矩陣,所述第一子矩陣的列對應於根據系統LDPC碼資訊位元,所述第二子矩陣包括用於產生奇偶位的至少一列,所述第二子矩陣是下三角矩陣,其中每個非零元素都位於對角線上或對角線下方;所述電路包括多個異或邏輯閘,所述異或邏輯閘陣列設 置,使得多個異或邏輯閘中的每個異或邏輯閘都對應於LDPC矩陣的非零元素;所述電路還包括多個多工器,所述多個多工器用於修改所述多個異或邏輯閘的子集的連接性,所述多個異或邏輯閘與用於產生奇偶位的LDPC矩陣的至少一列對應;其中,每個多工器在所述電路執行第一資訊位元的編碼以形成第一LDPC編碼信號時,選擇其第一連線性;在所述電路執行第二LDPC編碼信號的解碼處理時,選擇其第二連線性。
- 如申請專利範圍第6項所述的裝置,其中,在所述第二LDPC編碼信號的解碼處理過程中,所述解碼器電路也使用至少一個附加電路來確定所述第二LDPC編碼信號內的第二資訊位元的最佳評估。
- 一種使用權利要求6所述的用於編碼和解碼的裝置來進行編碼和解碼的方法,其特徵在於,包括:使用LDPC矩陣來編碼第一資訊位元,包括計算奇偶位元,讓第一資訊位元和奇偶位元形成第一LDPC編碼信號的至少一部分;以及解碼第二LDPC編碼信號,來確定所述第二LDPC編碼信號中的第二資訊位元的最佳評估,包括執行故障校驗計算,其中:所述LDPC矩陣對應於系統的LDPC碼,所述LDPC矩陣分 為第一子矩陣和第二子矩陣,所述第一子矩陣的列對應於根據系統LDPC碼資訊位元,所述第二子矩陣包括用於產生奇偶位的至少一列,所述第二子矩陣是下三角矩陣,其中每個非零元素都位於對角線上或對角線下方;使用共用電路來執行所述編碼和故障校驗計算,所述共用電路包括多個異或邏輯閘,所述異或邏輯閘陣列設置,使得多個異或邏輯閘中的每個異或邏輯閘都對應於LDPC矩陣的非零元素;所述電路還包括多個多工器,所述多個多工器用於修改所述多個異或邏輯閘的子集的連接性,所述多個異或邏輯閘與用於產生奇偶位的LDPC矩陣的至少一列對應;在所述電路執行第一資訊位元的編碼以形成第一LDPC編碼信號時,選擇每個多工器的第一連接性;在所述電路執行第二LDPC編碼信號的解碼處理時,選擇每個多工器的第二連接性。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/493,342 US7752529B2 (en) | 2006-07-26 | 2006-07-26 | Combined LDPC (low density parity check) encoder and syndrome checker |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200826513A TW200826513A (en) | 2008-06-16 |
TWI387210B true TWI387210B (zh) | 2013-02-21 |
Family
ID=38692052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW096127124A TWI387210B (zh) | 2006-07-26 | 2007-07-25 | 用於編碼和解碼的裝置及方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7752529B2 (zh) |
EP (1) | EP1883161B1 (zh) |
KR (1) | KR100930264B1 (zh) |
CN (1) | CN101114835B (zh) |
HK (1) | HK1117654A1 (zh) |
TW (1) | TWI387210B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2927206B1 (fr) * | 2008-02-04 | 2014-02-14 | Groupe Des Ecoles De Telecommunications Get Ecole Nationale Superieure Des Telecommunications Enst | Procede de decodage d'un signal transmis dans un systeme multi-antennes, produit programme d'ordinateur et dispositif de decodage correspondants. |
KR20090131230A (ko) | 2008-06-17 | 2009-12-28 | 삼성전자주식회사 | 적어도 두 개의 주파수 대역들을 이용하는 저 밀도 패리티코드 인코딩 장치 및 디코딩 장치 |
US8739001B2 (en) * | 2011-04-23 | 2014-05-27 | Analogies Sa | LDPC encoding and decoding techniques |
EP2525497A1 (en) | 2011-05-18 | 2012-11-21 | Panasonic Corporation | Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes |
KR101851041B1 (ko) * | 2011-08-12 | 2018-04-20 | 트라이젠스 세미컨덕터 가부시키가이샤 | 구동 회로 |
US9069996B2 (en) | 2011-09-16 | 2015-06-30 | The Invention Science Fund I, Llc | Registering regions of interest of a body part to a coordinate system |
EP2989720A4 (en) * | 2013-04-25 | 2016-12-07 | Qualcomm Inc | METHOD AND APPARATUS OF LDPC ENCODER IN A 10GBASE-T SYSTEM |
US10193574B1 (en) * | 2016-05-19 | 2019-01-29 | Apple Inc. | Efficient syndrome calculation in processing a GLDPC code |
CN117331742A (zh) * | 2022-06-23 | 2024-01-02 | 慧荣科技股份有限公司 | 低密度奇偶校检码的产生装置和方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020051501A1 (en) * | 2000-04-28 | 2002-05-02 | Victor Demjanenko | Use of turbo-like codes for QAM modulation using independent I and Q decoding techniques and applications to xDSL systems |
US6567465B2 (en) * | 2001-05-21 | 2003-05-20 | Pc Tel Inc. | DSL modem utilizing low density parity check codes |
US20030104788A1 (en) * | 2001-09-01 | 2003-06-05 | Sungwook Kim | Decoding architecture for low density parity check codes |
US6633856B2 (en) * | 2001-06-15 | 2003-10-14 | Flarion Technologies, Inc. | Methods and apparatus for decoding LDPC codes |
US6789227B2 (en) * | 2001-07-05 | 2004-09-07 | International Business Machines Corporation | System and method for generating low density parity check codes using bit-filling |
CN1574650A (zh) * | 2003-05-26 | 2005-02-02 | 三星电子株式会社 | 在通信系统中解码低密度奇偶校验码的装置和方法 |
US6895547B2 (en) * | 2001-07-11 | 2005-05-17 | International Business Machines Corporation | Method and apparatus for low density parity check encoding of data |
US20050283707A1 (en) * | 2004-06-22 | 2005-12-22 | Eran Sharon | LDPC decoder for decoding a low-density parity check (LDPC) codewords |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3542756A (en) * | 1968-02-07 | 1970-11-24 | Codex Corp | Error correcting |
US3665396A (en) * | 1968-10-11 | 1972-05-23 | Codex Corp | Sequential decoding |
US4295218A (en) * | 1979-06-25 | 1981-10-13 | Regents Of The University Of California | Error-correcting coding system |
US6430233B1 (en) * | 1999-08-30 | 2002-08-06 | Hughes Electronics Corporation | Single-LNB satellite data receiver |
US6473010B1 (en) * | 2000-04-04 | 2002-10-29 | Marvell International, Ltd. | Method and apparatus for determining error correction code failure rate for iterative decoding algorithms |
US7073114B2 (en) * | 2002-06-24 | 2006-07-04 | Massey Peter C | Method of decoding utilizing a recursive table-lookup decoding method |
US7409628B2 (en) | 2002-08-15 | 2008-08-05 | Broadcom Corporation | Efficient design to implement LDPC (Low Density Parity Check) decoder |
-
2006
- 2006-07-26 US US11/493,342 patent/US7752529B2/en not_active Expired - Fee Related
-
2007
- 2007-04-11 EP EP07007455A patent/EP1883161B1/en not_active Expired - Fee Related
- 2007-07-25 CN CN2007101384691A patent/CN101114835B/zh not_active Expired - Fee Related
- 2007-07-25 TW TW096127124A patent/TWI387210B/zh not_active IP Right Cessation
- 2007-07-26 KR KR1020070075246A patent/KR100930264B1/ko not_active IP Right Cessation
-
2008
- 2008-07-15 HK HK08107788.3A patent/HK1117654A1/xx unknown
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020051501A1 (en) * | 2000-04-28 | 2002-05-02 | Victor Demjanenko | Use of turbo-like codes for QAM modulation using independent I and Q decoding techniques and applications to xDSL systems |
US6567465B2 (en) * | 2001-05-21 | 2003-05-20 | Pc Tel Inc. | DSL modem utilizing low density parity check codes |
US6633856B2 (en) * | 2001-06-15 | 2003-10-14 | Flarion Technologies, Inc. | Methods and apparatus for decoding LDPC codes |
US6789227B2 (en) * | 2001-07-05 | 2004-09-07 | International Business Machines Corporation | System and method for generating low density parity check codes using bit-filling |
US6895547B2 (en) * | 2001-07-11 | 2005-05-17 | International Business Machines Corporation | Method and apparatus for low density parity check encoding of data |
US20030104788A1 (en) * | 2001-09-01 | 2003-06-05 | Sungwook Kim | Decoding architecture for low density parity check codes |
CN1574650A (zh) * | 2003-05-26 | 2005-02-02 | 三星电子株式会社 | 在通信系统中解码低密度奇偶校验码的装置和方法 |
US20050283707A1 (en) * | 2004-06-22 | 2005-12-22 | Eran Sharon | LDPC decoder for decoding a low-density parity check (LDPC) codewords |
Also Published As
Publication number | Publication date |
---|---|
EP1883161B1 (en) | 2012-09-19 |
CN101114835A (zh) | 2008-01-30 |
KR20080010355A (ko) | 2008-01-30 |
US20080052593A1 (en) | 2008-02-28 |
HK1117654A1 (en) | 2009-01-16 |
US7752529B2 (en) | 2010-07-06 |
EP1883161A3 (en) | 2008-08-13 |
TW200826513A (en) | 2008-06-16 |
KR100930264B1 (ko) | 2009-12-09 |
CN101114835B (zh) | 2010-07-14 |
EP1883161A2 (en) | 2008-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI387210B (zh) | 用於編碼和解碼的裝置及方法 | |
US9362957B2 (en) | Method and system for error correction in transmitting data using low complexity systematic encoder | |
US8341492B2 (en) | Quasi-cyclic LDPC (low density parity check) code construction | |
KR101208546B1 (ko) | 저밀도 패리티 체크 행렬을 이용한 부호화 및 복호화 방법 | |
US6948109B2 (en) | Low-density parity check forward error correction | |
US9450615B2 (en) | Multi-bit error correction method and apparatus based on a BCH code and memory system | |
US8880976B2 (en) | Method and apparatus for encoding LBA information into the parity of a LDPC system | |
CN103888148A (zh) | 一种动态阈值比特翻转的ldpc码硬判决译码方法 | |
US20100115371A1 (en) | Selective merge and partial reuse LDPC (Low Density Parity Check) code construction for limited number of layers Belief Propagation (BP) decoding | |
US8386906B2 (en) | Multi-CSI (cyclic shifted identity) sub-matrix based LDPC (low density parity check) codes | |
JP4672015B2 (ja) | 低密度パリティ検査コードを用いた符号化及び復号化方法 | |
WO2015120719A1 (zh) | 信息处理方法及装置 | |
US20140281790A1 (en) | Systems and Methods for Multi-Stage Encoding Of Concatenated Low Density Parity Check Codes | |
WO2019246527A1 (en) | Method and apparatus for improved data recovery in data storage systems | |
WO2021118395A1 (en) | Spatially coupled forward error correction encoding method and device using generalized error locating codes as component codes | |
US8086930B2 (en) | Fixed-spacing parity insertion for FEC (Forward Error Correction) codewords | |
KR20050052184A (ko) | 저밀도 패리티 검사 부호화를 위한 인터리빙 방법 | |
TWI407703B (zh) | 解碼器 | |
US11128320B2 (en) | Encoding method, decoding method, encoding apparatus, and decoding apparatus | |
CN108234069B (zh) | 低码率数据发送方法和装置 | |
KR101079087B1 (ko) | Ldpc 코드를 이용한 부호화 방법 및 부호화를 위한컴퓨터로 읽을 수 있는 기록 매체 | |
KR20060013197A (ko) | Ldpc 코드를 이용한 부호화 방법 및 부호화를 위한컴퓨터로 읽을 수 있는 기록 매체 | |
KR100999272B1 (ko) | 저 밀도 패리티 검사 코드의 부호화 장치 및 그 방법 | |
KR101234373B1 (ko) | 다차원 격자-rs 연접 부호의 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치를 위한 오류 정정 회로, 및 플래쉬 메모리 장치 | |
Eze et al. | Innovative Improvement of Data Storage Using Error Correction Codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |