TWI403096B - 糾正位元串錯誤之方法 - Google Patents

糾正位元串錯誤之方法 Download PDF

Info

Publication number
TWI403096B
TWI403096B TW97138419A TW97138419A TWI403096B TW I403096 B TWI403096 B TW I403096B TW 97138419 A TW97138419 A TW 97138419A TW 97138419 A TW97138419 A TW 97138419A TW I403096 B TWI403096 B TW I403096B
Authority
TW
Taiwan
Prior art keywords
error
symptom
bit string
symptom value
value
Prior art date
Application number
TW97138419A
Other languages
English (en)
Other versions
TW201015872A (en
Inventor
Yaotsu Chang
Original Assignee
Chang Yaochung
Chang Calvin Kaiwen
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chang Yaochung, Chang Calvin Kaiwen filed Critical Chang Yaochung
Priority to TW97138419A priority Critical patent/TWI403096B/zh
Publication of TW201015872A publication Critical patent/TW201015872A/zh
Application granted granted Critical
Publication of TWI403096B publication Critical patent/TWI403096B/zh

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Description

糾正位元串錯誤之方法
本發明係關於錯誤糾正碼之解碼方法,特別是關於使用症狀值解碼機制所作之錯誤糾正解碼,其係表示症狀值係以一對一方式對應於可糾正之錯誤樣式(Error Patterns)。可使用此機制之例子中包含線性碼(Linear Codes)或循環碼(Cyclic Codes)、二進位碼(Binary Codes)或非二進位碼(Non-binary Codes)、系統碼(Systematic Codes)或非系統碼(Non-systematic Codes)、及延伸碼(Extended Codes)或縮短碼(Shorten Codes)等。
在訊號傳遞時,會發生如衰減(Fading)、通道雜訊(Channel Noise)及訊號干擾(Signal Interference)等因素,通道中的資料傳輸難免會發生錯誤,故錯誤糾正碼在通訊系統中扮演了一個重要的角色。錯誤會發生在任何通訊通道中,因此,接收器將接收到具有錯誤型態的傳輸訊號,透過使用錯誤糾正碼,將可消除可糾正之錯誤,故原來之傳輸訊號將在無需要求重新傳送訊號的前提下被修復。
所有的這些機制之基礎原理係在欲傳輸的訊息(Message-Word)中加入額外的冗餘資訊(Redundancy),以使得傳輸過程中的錯誤能夠被偵測並加以糾正。這個機制把被傳輸的訊息對應到一個碼字(Codeword),所對應到的碼字包含欲傳輸的訊息及用來作錯誤控制之冗餘資訊。加入之額外的冗餘資訊的數量係此機制錯誤控制能力的函數。在接收器端,若傳輸時發生錯誤,則接收器將接收到含有錯誤樣式的碼字(Corrupted Codeword)。然而,若含有錯誤樣式的碼字中之錯誤數量小於或等於此機制之錯誤控制能力(Error Correcting Capacity),則接收器可根據症狀值與錯誤樣式的對應關係來決定出錯誤樣式,並正確復原出原傳送之訊息。
用來從含有錯誤樣式的碼字中移除錯誤樣式之解碼程序包含有下列步驟。首先,計算對應於含有錯誤樣式的碼字之症狀值。藉由此症狀值可求出包含於碼字中之錯誤樣式的特徵。因此,可透過一解碼機制來決定出此症狀值,並利用此症狀值來識別包含在含有錯誤樣式的碼字中的錯誤樣式。一旦決定出錯誤樣式後,便可由含有錯誤樣式的碼字中直接移除以得到原來傳輸時的碼字,並由該碼字中還原出原訊息。
之前,已經有各種執行錯誤糾正的解碼機制被提出。然而,現有之解碼方法主要缺點為解碼過程非常耗時,使得這些機制很難使用在即時(Real-time)應用上。為何這些解碼方法如此耗時?主要有二個理由,第一,決定錯誤樣式所需之代數計算相當複雜,第二,有些解碼程序需多次遞迴執行。
因此,需要更快速且更簡單的錯誤糾正解碼機制,藉以提供高速的性能表現以符合大部分應用之需求。
本發明係一種執行錯誤糾正的解碼方法,可應用於症狀值解碼機制所涵蓋之錯誤糾正碼。
本發明之目的在提供一種有用的解碼方法,可應用於症狀值解碼機制所涵蓋之錯誤糾正碼,其中症狀值解碼機制可使用於大部分主要與即時之應用。
本發明之另一目的在提供一種快速且簡單的錯誤糾正解碼方法,此方法可應用於症狀值解碼機制所涵蓋之錯誤糾正碼。
為了達到前述之標的,並與本說明書中所廣泛描述之功效一致,本發明提供一種症狀值解碼機制所涵蓋之錯誤糾正碼的解碼方法,其中症狀值解碼機制包含線性碼或非線性碼、二進位碼或非二進位碼、系統碼或非系統碼、及延伸碼或縮短碼的症狀值解碼機制。本發明改進之高速錯誤糾正能力係以搜尋症狀值與錯誤樣式的對應關係(The Mapping Relationship between Syndromes and Errors)來達成,而症狀值與錯誤樣式的對應關係係建立在下列的理論基礎上:所有症狀值之集合與所有可糾正錯誤樣式之集合間存在有一對一之對應關係。
本發明係以二實施例來說明。第一實施例使用完整症狀值與錯誤樣式的對應關係,而第二實施例則使用部分症狀值與錯誤樣式的對應關係。本方法包含下列步驟:計算對應於接收到位元串的症狀值;決定症狀值是否為零位元串;當症狀值為非零位元串時,藉由搜尋完整或者是部分症狀值與錯誤樣式的對應關係來決定錯誤樣式;以及使用取得之錯誤樣式糾正所接收之位元串。
可以理解的是,前述之一般描述以及後續的詳細說明均以實施例方式加以說明,藉以提供對本發明進一步之解釋。
本發明之優點為,利用不同的症狀值解碼機制,可減少解碼程序中所需之遞迴運算的次數,進而降低運算元件所耗損之能量,同時,當症狀值解碼機制簡化後,即可以相對較少之硬體元件來執行解碼程序所需之運算,故可降低硬體所需之成本。
本發明之較佳實施例將由以下內容作詳細說明,而本發明之實施例將配合相應之圖式加以介紹。在可能的情況下,相同的參考數字係用來在圖式及說明中指出相同或相似的部分。
本發明提供一種有用的錯誤糾正方法,用以作為線性碼或循環碼、二進位碼或非二進位碼、系統碼或非系統碼、以及延伸碼或縮短碼的解碼之用。相較於習知之方法,本發明所改進之高速錯誤糾正能力係利用搜尋症狀值與錯誤樣式的對應關係來達成的。症狀值與錯誤樣式的對應關係係建立在下列的理論上:在所有的症狀值形成之集合以及所有的可糾正之錯誤樣式形成之集合之間,存在有一對一的對應關係。如果錯誤樣式之權重(Weight)係小於或等於錯誤糾正能力,則稱錯誤樣式係可糾正的,其中d 係編碼之最小漢明距離,標記係表示不超過的最大整數,而位元串之權重係表示位元串中非零位置的數量。
因為症狀值係隱藏於含有錯誤樣式的碼字之中,而且僅與錯誤樣式相關,意即症狀值係僅由可糾正之錯誤樣式所決定。單一一個可糾正之錯誤樣式不可能對應於二個不同的症狀值。從另一觀點來說,假如有二個可糾正之錯誤樣式ee ’,且與此二錯誤樣式相關之症狀值係完全相同的,則此二錯誤樣式相減之字串e-e ’的症狀值等於零。前述狀況意味著相減之字串e-e ’實際上係一碼字。因為相減之字串e-e ’之權重並沒有大於錯誤樣式ee ’之權重的和,意即wt(e-e ’)≦wt(e )+wt(e ’),所以相減之字串e-e ’之權重最大為t +t =2t ,其中t 為錯誤糾正能力。根據上述可知相減之字串e-e ’之權重係小於d (碼字的最小距離),此狀況對於線性碼或循環碼而言是不合理的。
藉由使用症狀值與可糾正之錯誤樣式之間的對應關係,可以建立一有用的症狀值與錯誤樣式的對應表,並將其使用於解碼過程,其中症狀值與錯誤樣式的對應表亦可稱之為症狀值與錯誤樣式的對應關係。症狀值係作為症狀值與錯誤樣式的對應關係的輸入部分,而輸出部分則為相對應之可糾正錯誤樣式。上述做法可避免從症狀值中決定錯誤樣式之複雜計算。
以下將詳細描述二實施例。請先參照第1A圖,根據本發明第一實施例之應用於解線性碼或解循環碼的方法將於以下加以說明。在步驟102中,計算對應至所接收位元串r 的症狀值S 。在循環碼的例子中,一般狀況下,計算症狀值包含以下兩種常見的方法,第一是由接收之多項式除以生成多項式的餘式當作症狀值,或者將生成多項式的根代入至接收多項式中所得的值當作症狀值。在線性碼的例子中,一般狀況下,症狀值包含有利用校驗矩陣(Parity Check Matrix)乘以接收碼字(Receive Codeword)所獲得的向量。接著在步驟104中,決定在步驟102中所算出之症狀值S 是否為零位元串。當症狀值S 為非零位元串時,在步驟106中使用此症狀值S 以從完整症狀值與錯誤樣式的對應關係中找出相對應的錯誤樣式e 。相反地,當症狀值S 等於零,在步驟110中宣告無錯誤發生。錯誤樣式的決定可利用查表法(Look-Up Table)或邏輯函數法(Logic Function Methods)來執行。此些決定錯誤的方法將在後續配合參照第1B圖加以說明。最後,在步驟108中,執行錯誤樣式e 與含有錯誤樣式的碼字r (Corrupted Codeword)兩者之資料部分的模二加法(Modulo-2 Addition)來回復原來的資料訊息,其中此含有錯誤樣式的碼字亦即前述步驟102中所接收位元串r
現在請參照第1B圖,根據本發明第一實施例之使用完整症狀值與錯誤樣式的對應關係的方法將於以下作說明。在步驟112中,決定症狀值S 是否屬於完整症狀值與錯誤樣式的對應關係中的一部分。接著,在步驟114中,當症狀值S 屬於症狀值與錯誤樣式的對應關係中的一部分時,確認與其相對應的錯誤樣式e 。相反的,當症狀值S 不屬於完整症狀值與錯誤樣式的對應關係中的一部分時,在步驟116中宣告為無法糾正之錯誤。
以下是關於從症狀值與錯誤樣式的對應關係中之症狀值決定錯誤樣式之一種方式的說明:設e =(e 0 ,e 1 ,...,e k -1 )為錯誤樣式發生時的資料部分,每個錯誤位置e i 邏輯函數e i =f i (S 0 ,S 1 ,...,S m -1 )加以表示,其中i =0,1,...,k -1,而S 0 ,S 1 ,...,S m -1 係由含有錯誤樣式的碼字中所取得之症狀值S 的症狀值位元(Syndrome Bits),且將症狀值位元S 0 ,S 1 ,...,S m -1 輸入各位元函數f i 計算即可得出錯誤樣式位置e i 的值。詳細細節如下:設e =(e 0 ,e 1 ,...,e k -1 )為發生於資料部分的錯誤樣式且設症狀值S 已經被計算出。然後存在邏輯函數f 0 ,f 1 ,...,f k -1 使得每個錯誤位置能夠經由代入症狀值位元於邏輯函數中來決定:
因此,可執行錯誤樣式與含有錯誤樣式的碼字兩者資料部分的模二加法來回復原來的資料訊息。
第一實施例之一特定例子敘述如下。考慮二進位循環碼(17,9)搭配生成多項式g (x )=x 8 +x 7 +x 6 +x 4 +x 2 +x +1。表1係二進位循環碼(17,9)之完整症狀值與錯誤樣式的對應關係,其中包含所有的可糾正之錯誤樣式以及相對應的症狀值。設r =(11101111011111111)為接收之位元串,而相關之接收多項式(Received Polynomial)為r (x )=x 16 +x 15 +x 14 +x 12 +x 11 +x 10 +x 9 +x 7 +x 6 +x 5 +x 4 +x 3 +x 2 +x +1。首先,以接收多項式r (x )除以生成多項式g (x )來計算與r 相對應之症狀值S 藉以取得餘式x 4 +x 3 +x +1。症狀值S =(00011011)係與餘式相關的係數向量(Coefficient Vector)。因為症狀值S 係非零之位元串,故接收之位元串為含有錯誤樣式的碼字。此外,因為症狀值S 係屬於表1的一部分,故可藉由查詢表1來決定錯誤樣式的資訊,或是根據所取得之症狀值S =(00011011)使用邏輯函數來直接決定錯誤樣式的資訊,其方式如下:e 0 =f 0 (0,0,0,1,1,0,1,1)=1,e 1 =f 1 (0,0,0,1,1,0,1,1)=0,e 2 =f 2 (0,0,0,1,1,0,1,1)=0,e 3 =f 3 (0,0,0,1,1,0,1,1)=0,e 4 =f 4 (0,0,0,1,1,0,1,1)=0,e 5 =f 5 (0,0,0,1,1,0,1,1)=1,e 6 =f 6 (0,0,0,1,1,0,1,1)=0,e 7 =f 7 (0,0,0,1,1,0,1,1)=0與e 8 =f 8 (0,0,0,1,1,0,1,1)=0,然後可得到資料部份的錯誤樣式(000100001)。接著,資料部份的錯誤樣式(000100001)與含有錯誤樣式的碼字的資料部份(111011110)兩者進行模二加法可以還原得到原來的資料訊息(111111111)。
現在請參照第2A圖,根據本發明第二實施例之應用於解線性碼或解循環碼的方法將於以下加以說明。在步驟202中,計算對應至接收到之位元串r 之症狀值S 。在循環碼的例子中,一般狀況下,計算症狀值包含以下兩種常見的方法,第一是由接收之多項式除以生成多項式的餘式當作症狀值,或者將生成多項式的根代入至接收多項式中所得的值當作症狀值。在線性碼的例子中,一般狀況下,症狀值包含有利用校驗矩陣乘以接收之位元串所獲得的向量。接著在步驟204中,決定在步驟202中所取得之症狀值S 是否為零位元串。當症狀值S 為非零位元串時,在步驟206中由部分症狀值與錯誤樣式的對應關係裡找出與症狀值S 相對應的錯誤樣式e 。相反地,當症狀值S 等於零,在步驟210中宣告無錯誤發生。決定錯誤的方法將在後續配合參照第2B圖加以說明。步驟208中係執行錯誤樣式e 與含有錯誤樣式的碼字兩者之資料部分的模二加法以回復原來的資料訊息,其中此含有錯誤樣式的碼字亦即前述步驟202中所接收位元串r
現在請參照第2B圖,根據本發明第二實施例之使用部分症狀值與錯誤樣式的對應關係的方法將於以下作說明。預先建構之部分症狀值與錯誤樣式的對應關係包含所有症狀值的子集合以及相對應的可糾正之錯誤樣式之子集合。預先計算之症狀值[e t ]係對應於可糾正之錯誤樣式但不包含於預先建構之部分症狀值與錯誤樣式的對應關係中的症狀值,而此標誌符號[e t ]係用來表示對應於錯誤樣式e t 之症狀值。
在步驟212中,將起始症狀值(Starting Syndrome)S 0 指定為根據接收多項式所算出之症狀值S ,並將嘗試錯誤(Trying Error)之樣式e t 指定為零。接著,在步驟214中,決定症狀值S 是否屬於部分症狀值與錯誤樣式的對應關係中的一部分。在步驟216中,當症狀值S 屬於部分症狀值與錯誤樣式的對應關係中的一部分時,可決定出與其相對應之錯誤樣式e p 。相反地,當症狀值S 不屬於部分症狀值與錯誤樣式的對應關係中的一部分時,在步驟220中檢查所有的預先計算之症狀值[e t ]是否均已使用完。假設預先計算之症狀值[e t ]尚未使用完,則在步驟222中選擇一個預先計算之症狀值[e t ]與起始症狀值S 0 進行模二加法,並將症狀值S 更新成此兩者相加之和。在此之後,於步驟224中,以相對應於此預先計算之症狀值[e t ]之錯誤樣式覆寫前述嘗試錯誤之樣式e t 。另一方面,假如預先計算之症狀值[e t ]全部使用完且找不到任何之錯誤樣式,則於步驟226中宣告為無法糾正之錯誤。
當症狀值S 並不屬於部分症狀值與錯誤樣式的對應關係中且預先計算之症狀值[e t ]尚未使用完時,將起始症狀值S 0 與預先計算之症狀值[e t ]其中之一進行模二加法之過程會一直重複,直到起始症狀值S 0 與預先計算之症狀值[e t ]其中之一的和能夠在部分症狀值與錯誤樣式的對應關係中找到為止,或是所有預先計算之症狀值[e t ]均使用完為止。假如產生有錯誤樣式e p ,則在步驟218中將所獲得之錯誤樣式e p 與嘗試錯誤之樣式e t 兩者之資料部分的模二加法結果指定成錯誤樣式e 的資料部分。
第二實施例之一例子敘述如下。考慮二進位循環碼(17,9)由搭配之生成多項式所生成。表2係二進位循環碼(17,9)之部分症狀值與錯誤樣式的對應關係,其中包含有部分的可糾正之錯誤樣式以及相對應的症狀值。設r =(11101111011111111)為接收之位元串,而相應之接收多項式為r (x )=x 16 +x 15 +x 14 +x 12 +x 11 +x 10 +x 9 +x 7 +x 6 +x 5 +x 4 +x 3 +x 2 +x +1。首先,以接收多項式r (x )除以生成多項式g (x )來計算與r 相對應之症狀值S 藉以算得餘式x 4 +x 3 +x +1。症狀值S =(00011011)係此餘式的係數向量。因為症狀值S 係非零位元串,故接收之位元串為含有錯誤樣式之碼字。為了移除隱藏於接收位元串中的錯誤樣式,指定起始症狀值S 0 為症狀值S ,意即S 0 =S =(00011011)。因為無法在部分症狀值與錯誤樣式的對應關係中找到症狀值S =(00011011),一些嘗試錯誤樣式之預先計算的症狀值[e t ]將與起始症狀值S 0 進行模二加法。經過嘗試後,嘗試錯誤之樣式e t =(00000000100000000)搭配預先計算之症狀值[e t ]=(11010111)即為所需。將此一預先計算之症狀值(11010111)與起始症狀值(00011011)進行模二加法,並將此數值儲存至症狀值S 中,意即S =S 0 +[e t ]=(11001100)。在此一例子中,於表2中可找到症狀值S =(11001100),且可藉由查閱表2來決定錯誤樣式,或是根據所取得之症狀值S =(11001100)使用邏輯函數來直接決定錯誤樣式的資訊,其方式如下:e p 0 =f 0 (1,1,0,0,1,1,0,0)=0,e p 1 =f 1 (1,1,0,0,1,1,0,0)=0,e p 2 =f 2 (1,1,0,0,1,1,0,0)=0,e p 3 =f 3 (1,1,0,0,1,1,0,0)=0,e p 4 =f 4 (1,1,0,0,1,1,0,0)=0,e p 5 =f 5 (1,1,0,0,1,1,0,0)=1,e p 6 =f 6 (1,1,0,0,1,1,0,0)=0,e p 7 =f 7 (1,1,0,0,1,1,0,0)=0與e p 8 =f 8 (1,1,0,0,1,1,0,0)=0,然後可得到資料部份的錯誤樣式e p =(000100000)。接著,取得之錯誤樣式e p =(000100000)與嘗試錯誤之樣式(000000001)兩者之資訊資料部分的模二加法可以得到發生於資料部份的錯誤樣式位元串e =(000100001)。最後,計算出之e =(000100001)與錯誤碼字(111011110)之資訊料部分的模二加法可以得到原來的資料訊息(111111111)。
本發明之優點係在提供一應用於線性碼與循環碼解碼有用的方法,此方法可使用於大部分主要與即時應用上。本發明係一種快速且簡單的方法,用以作為線性碼與循環碼、二進位碼或非二進位碼、系統碼或非系統碼、以及延伸碼或縮短碼的解碼之用。本發明所改進之高速錯誤糾正能力係以從適當的症狀值與錯誤樣式的對應關係中直接決定錯誤樣式來達成。
本發明可以軟體或硬體來加以具體化。本發明一般之軟體實施例中包含使用程式記憶體、資料記憶體或者內容可尋址記憶體(CAM)來儲存症狀值與錯誤樣式的對應關係,或者根據症狀值與錯誤樣式的對應關係以數學函數之方式而應用於軟體中。本發明一般之硬體實施例中包含使用記憶裝置來儲存症狀值與錯誤樣式的對應關係,或者使用組合邏輯電路(Combinational Logic Circuit)或邏輯函數(Logic Function)來執行症狀值與錯誤樣式之間的對應關係而應用於硬體中。此一請求保護的範圍包含前述症狀值與錯誤樣式間對應關係之任何改良或簡化裝置。
雖然本發明已經於上述說明中配合較佳實施例作詳細說明,但仍可有其他之實施例。因此,下述之申請專利範圍之精神與範疇應不侷限於本說明書所包含之較佳實施例子之描述。
熟悉此技藝者將可體會到,在不脫離本發明之範圍或精神內,當可對本發明之架構作各種的更動與變化。根據前述之內容,可以預期的是,本發明所包含的更動與變化均落在後續申請專利範圍及其等價的範圍內。
102...計算對應至接收到之位元串r 之症狀值S
104...決定在步驟102中所算出之症狀值S 是否為零位元串
106...使用此症狀值S 從完整症狀值與錯誤樣式的對應關係中決定錯誤樣式e
108...以模二加法執行位元串r 中之訊息部份與錯誤樣式e 中之訊息部份之相加來回復原來的資料訊息
110...宣告無錯誤發生
112...決定症狀值S 是否屬於完整症狀值與錯誤樣式的對應關係的一部分
114...當症狀值S 屬於完整症狀值與錯誤樣式的對應關係的一部分時,確認與其相對應的錯誤樣式e
116...宣告為無法糾正之錯誤
202...計算對應至接收到之位元串r 之症狀值S
204...決定在步驟202中所取得之症狀值S 是否為零位元串
206...由部分症狀值與錯誤樣式的對應關係裡找出與症狀值S 相對應的錯誤樣式e
208...執行錯誤樣式e 與含有錯誤樣式的碼字兩者之資料部分的模二加法以回復原來的資料訊息
210...宣告無錯誤發生
212...將起始症狀值S 0 指定為根據接收多項式所算出之症狀值S ,並將嘗試錯誤之樣式e t 指定為零
214...決定症狀值S 是否屬於部分症狀值與錯誤樣式的對應關係的一部分
216...當症狀值S 屬於部分症狀值與錯誤樣式的對應關係的一部分時,可決定出與其相對應之錯誤樣式e p
218...將所獲得之錯誤樣式e p 與嘗試錯誤之樣式e t 兩者之資料部分的模二加法結果指定成錯誤樣式e 的資料部分
220...檢查所有的預先計算之症狀值[e t ]是否均已使用完
222...選擇一個計算之症狀值[e t ]與起始症狀值S 0 進行模二加法,並將症狀值S 更新成此兩者相加之和
224...以相對應於預先計算之症狀值[e t ]之錯誤樣式覆寫嘗試錯誤之樣式e t
226...宣告為無法糾正之錯誤
為了能夠對本發明之觀點有較佳之理解,請參照上述較佳實施例之詳細說明並配合相應之圖式。相關圖式內容說明如下。
第1A圖係繪示依據本發明第一實施例之線性碼或循環碼之解碼的流程圖。
第1B圖係繪示依據本發明第一實施例之利用完整症狀值與錯誤樣式的對應關係以決定錯誤樣式的流程圖。
第2A圖係繪示依據本發明第二實施例之解碼線性碼或循環碼的流程圖。
第2B圖係繪示依據本發明第二實施例之利用部份症狀值與錯誤樣式的對應關係以作錯誤嘗試(Error-Trying)的流程圖。
102...計算對應至接收到之位元串r 之症狀值S
104...決定在步驟102中所算出之症狀值S 是否為零位元串
106...使用此症狀值S 從完整症狀值與錯誤樣式的對應關係中決定錯誤樣式e
108...以模二加法執行位元串r 中之訊息部份與錯誤樣式e 中之訊息部份之相加來回復原來的資料訊息
110...宣告無錯誤發生

Claims (19)

  1. 一種糾正位元串錯誤之方法,可用以糾正所接收之一位元串中之錯誤,其中該糾正位元串錯誤之方法包含:計算對應於所接收之該位元串的一症狀值;分別針對一所有症狀值集合來評估複數個邏輯函數,以獲得一所有可糾正錯誤樣式(Error Patterns)集合,其中個別地使用該所有症狀值集合之症狀值的症狀值位元所對應之邏輯函數,來決定每一個可糾正錯誤樣式之每一個錯誤位置;建構一完整症狀值與錯誤樣式的對應關係,其中該完整症狀值與錯誤樣式的對應關係是包含該所有症狀值集合、及以一對一方式對應至該所有症狀值集合之該所有可糾正錯誤樣式集合;決定該症狀值是否為零位元串,其中當該症狀值並非為零位元串時,所接收之該位元串為一含有錯誤樣式的碼字(Codeword);當該症狀值並非為零位元串時,直接藉由根據該症狀值來搜尋該完整症狀值與錯誤樣式的對應關係以決定出一錯誤樣式;以及使用所求出之該錯誤樣式來糾正所接收之該位元串中之錯誤。
  2. 如申請專利範圍第1項所述之糾正位元串錯誤之方法,且包含當該症狀值為零位元串時,宣告無錯誤發生。
  3. 如申請專利範圍第1項所述之糾正位元串錯誤之方法,其中所接收之該位元串係一錯誤糾正碼所編成的碼字,且該錯誤糾正碼使用一症狀值解碼機制。
  4. 如申請專利範圍第3項所述之糾正位元串錯誤之方法,其中該症狀值解碼機制表示該所有症狀值之集合係以一對一方式對應於所有該些可糾正錯誤樣式之集合。
  5. 如申請專利範圍第3項所述之糾正位元串錯誤之方法,其中適用該症狀值解碼機制的編碼方式包含線性碼(Linear Codes)或循環碼(Cyclic Codes)、二進位碼(Binary Codes)或非二進位碼(Non-binary Codes)、系統碼(Systematic Codes)或非系統碼(Non-systematic Codes)、及延伸碼(Extended Codes)或縮短碼(Shorten Codes)。
  6. 如申請專利範圍第1項所述之糾正位元串錯誤之方法,其中該決定一錯誤樣式之步驟包含:決定該症狀值是否屬於該完整症狀值與錯誤樣式的對應關係;以及當該症狀值屬於該完整症狀值與錯誤樣式的對應關係時,確認與該症狀值相對應之該錯誤樣式。
  7. 如申請專利範圍第6項所述之糾正位元串錯誤之方法,更包含當該症狀值不屬於該完整症狀值與錯誤樣式的對應關係時,宣告為無法糾正之錯誤。
  8. 如申請專利範圍第1項所述之糾正位元串錯誤之方法,其中該決定一錯誤樣式之步驟可藉由使用記憶體儲存該完整症狀值與錯誤樣式的對應關係。
  9. 如申請專利範圍第1項所述之糾正位元串錯誤之方法,其中該決定一錯誤樣式之步驟可藉由使用記憶裝置儲存該完整症狀值與錯誤樣式的對應關係或邏輯函數(Logic Function)來執行所有該些症狀值與所有該些可糾正錯誤樣式之間的對應關係而應用於硬體中。
  10. 如申請專利範圍第1項所述之糾正位元串錯誤之方法,其中該糾正所接收之該位元串中之錯誤的步驟包含執行所接收之該位元串與該錯誤樣式之模二加法。
  11. 一種糾正位元串錯誤之方法,可用以糾正所接收之一位元串中之錯誤,其中該糾正位元串錯誤之方法包含:計算對應於所接收之該位元串的一症狀值;決定該症狀值是否為零位元串;當該症狀值並非為零位元串時,藉由搜尋一部分症狀值與錯誤樣式的對應關係以決定出一錯誤樣式,其中該部分症狀值與錯誤樣式的對應關係是包含所有症狀值與其對應之可糾正錯誤樣式之集合的一子集合,其中該決定該錯誤樣式之步驟包含:指定一起始症狀值為由所接收之該位元串計算 所得到之該症狀值,且並先指定一嘗試錯誤之樣式為零;決定該症狀值是否屬於該部分症狀值與錯誤樣式的對應關係;當該症狀值屬於該部分症狀值與錯誤樣式的對應關係時,確認所取得之該錯誤樣式,執行所取得之該錯誤樣式與該嘗試錯誤之樣式之模二加法;當該症狀值並不屬於該部分症狀值與錯誤樣式的對應關係時,確認複數個預先計算之症狀值是否已使用完,其中所有該些預先計算之症狀值係與該些可糾正之錯誤樣式相對應,但不包含在該部分症狀值與錯誤樣式的對應關係之症狀值中;以及當所有該些預先計算之症狀值均已使用完時,宣告為無法糾正之錯誤,當所有該些預先計算之症狀值尚未使用完時,將該起始症狀值與所有該些預先計算之症狀值其中一者進行模二加法作為該部分症狀值與錯誤樣式的對應關係之輸入值;以及使用所求出之該錯誤樣式來糾正所接收之該位元串中之錯誤。
  12. 如申請專利範圍第11項所述之糾正位元串錯誤之方法,且包含當該症狀值為零位元串時,宣告無錯誤發生。
  13. 如申請專利範圍第11項所述之糾正位元串錯誤之方法,其中該被接收之位元串係一錯誤糾正碼所編成的碼 字,且該錯誤糾正碼使用一症狀值解碼機制。
  14. 如申請專利範圍第13項所述之糾正位元串錯誤之方法,其中該症狀值解碼機制表示所有該些症狀值之集合係以一對一方式對應於所有該些可糾正錯誤樣式之集合。
  15. 如申請專利範圍第13項所述之糾正位元串錯誤之方法,其中適用該症狀值解碼機制的編碼方式包含線性碼或循環碼、二進位碼或非二進位碼、系統碼或非系統碼、及延伸碼或縮短碼。
  16. 如申請專利範圍第11項所述之糾正位元串錯誤之方法,其中該部分症狀值與錯誤樣式的對應關係係建立在所有該些症狀值與其相對應之該些可糾正錯誤樣式之集合之該子集合之間的一對一對應關係上。
  17. 如申請專利範圍第11項所述之糾正位元串錯誤之方法,其中該決定一錯誤樣式之步驟可藉由使用記憶裝置儲存該部分症狀值與錯誤樣式的對應關係,或根據該部分症狀值與錯誤樣式的對應關係以使用函數之方式而應用於軟體中。
  18. 如申請專利範圍第11項所述之糾正位元串錯誤之方法,其中該決定一錯誤樣式之步驟可藉由使用記憶裝置 儲存該部分症狀值與錯誤樣式的對應關係,或使用組合邏輯電路(Combinational Logic Circuit)或邏輯函數(Logic Function)來執行所有症狀值與所有可糾正錯誤樣式之間的對應關係而應用於硬體中。
  19. 如申請專利範圍第11項所述之糾正位元串錯誤之方法,其中該糾正所接收之該位元串之錯誤的步驟包含執行所接收之該位元串與該錯誤樣式之模二加法。
TW97138419A 2008-10-06 2008-10-06 糾正位元串錯誤之方法 TWI403096B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW97138419A TWI403096B (zh) 2008-10-06 2008-10-06 糾正位元串錯誤之方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW97138419A TWI403096B (zh) 2008-10-06 2008-10-06 糾正位元串錯誤之方法

Publications (2)

Publication Number Publication Date
TW201015872A TW201015872A (en) 2010-04-16
TWI403096B true TWI403096B (zh) 2013-07-21

Family

ID=44830223

Family Applications (1)

Application Number Title Priority Date Filing Date
TW97138419A TWI403096B (zh) 2008-10-06 2008-10-06 糾正位元串錯誤之方法

Country Status (1)

Country Link
TW (1) TWI403096B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030070133A1 (en) * 2001-10-05 2003-04-10 Bauman Mitchell A. Familial correction with non-familial double bit error detection

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030070133A1 (en) * 2001-10-05 2003-04-10 Bauman Mitchell A. Familial correction with non-familial double bit error detection

Also Published As

Publication number Publication date
TW201015872A (en) 2010-04-16

Similar Documents

Publication Publication Date Title
US8522122B2 (en) Correcting memory device and memory channel failures in the presence of known memory device failures
US8549378B2 (en) RAIM system using decoding of virtual ECC
JP4152887B2 (ja) リニアブロックコードに関する消去箇所−及び−単一−エラー訂正デコーダ
US9166623B1 (en) Reed-solomon decoder
JP5043562B2 (ja) エラー訂正回路、その方法及び前記回路を備える半導体メモリ装置
US9037953B2 (en) Multi-bit error correction method and apparatus based on a BCH code and memory system
US6950977B2 (en) Mechanism for turbo decoding when CRC for partial blocks is provided
US8806295B2 (en) Mis-correction and no-correction rates for error control
US8694872B2 (en) Extended bidirectional hamming code for double-error correction and triple-error detection
US5889792A (en) Method and apparatus for generating syndromes associated with a block of data that employs re-encoding the block of data
US6519736B1 (en) Generating special uncorrectable error codes for failure isolation
JP3305525B2 (ja) 復号器、誤りロケータシーケンス生成器および復号方法
US10567007B2 (en) Device and method of processing a data word using checkbits
US8001449B2 (en) Syndrome-error mapping method for decoding linear and cyclic codes
TWI403096B (zh) 糾正位元串錯誤之方法
CN110908827A (zh) 用于NAND Flash闪存纠错的并行BCH解码方法
US10387254B2 (en) Bose-chaudhuri-hocquenchem (BCH) encoding and decoding tailored for redundant array of inexpensive disks (RAID)
US8255777B2 (en) Systems and methods for locating error bits in encoded data
US9236890B1 (en) Decoding a super-code using joint decoding of underlying component codes
Singh et al. Improving Performance Parameters of Error Detection and Correction in HDLC Protocol by using Hamming Method
TWI527383B (zh) A Fast BCH Code Decoding Method
US20240106462A1 (en) G-ldpc decoder and g-ldpc decoding method
CN107204781A (zh) 一种rs码译码方法及装置
KR100192802B1 (ko) 리드 솔로몬 디코더의 에러값 계산 및 정정 장치
WO2009069087A1 (en) Apparatus and method for decoding concatenated error correction codes