TWI385931B - Gray code decoding method and decoder - Google Patents
Gray code decoding method and decoder Download PDFInfo
- Publication number
- TWI385931B TWI385931B TW98102028A TW98102028A TWI385931B TW I385931 B TWI385931 B TW I385931B TW 98102028 A TW98102028 A TW 98102028A TW 98102028 A TW98102028 A TW 98102028A TW I385931 B TWI385931 B TW I385931B
- Authority
- TW
- Taiwan
- Prior art keywords
- vector
- symptom
- extended
- symptom vector
- gray code
- Prior art date
Links
Landscapes
- Error Detection And Correction (AREA)
Description
本發明是有關於一種二元平方剩餘(quadratic residue,QR)碼之解碼技術,特別是指一種格雷碼(Golay code)之解碼方法及解碼器。
近年來,從消費性電子產品到通訊電子產品,對於訊號傳送之可靠度的需求日漸殷切;因此,錯誤偵測及更正機制也日益重要。在數位通訊過程中,傳送端為了確保欲傳送之原始資料的正確性,一般而言,會對原始資料附加冗餘資料(redundant data),而接收端即可根據此冗餘資料進行錯誤校正。由於二元平方剩餘碼對於傳輸通道中所產生的錯誤有很好的更正能力,故成為非常受歡迎的通道編碼(channel coding)方式之一,且目前已為衛星通訊系統、數位電視系統、各式數位影音記錄媒體等所廣泛使用之錯誤更正碼(Error Correction Code)。
其中,(23,12,7)格雷碼即是一種有名的二元平方剩餘碼。現有的解碼方式主要有代數演算法(algebraic algorithm)、歐機里德演算法(Euclid algorithm)、步階解碼演算法(step-by-step decoding algorithm),此等演算法因為運算延遲時間長(long time delay)、複雜度高、規則性低、所需閘數(gate count)高,故其硬體實現上不易且成本較高。
因此,本發明之目的,即在提供一種格雷碼之解碼方法。
於是,本發明格雷碼之解碼方法,以一格雷碼之解碼器來實現,該格雷碼之解碼器包括一症狀向量計算單元、一延伸症狀向量計算單元、一權重值計算單元、一錯誤位置向量決定單元,及一運算單元,該方法包含下列步驟:(a )該格雷碼之解碼器接收一筆二位元序列(binary sequence);(b)該症狀向量計算單元根據已接收的該二位元序列,及預先定義的一第一輔助校驗矩陣,求出一第一症狀(syndrome)向量;(c)該症狀向量計算單元根據已接收的該二位元序列,及預先定義的一第二輔助校驗矩陣,求出一第二症狀向量;(d)該延伸症狀向量計算單元根據該第一症狀向量、該第二症狀向量,及該第一輔助校驗矩陣、該第二輔助校驗矩陣,求出一第一延伸症狀向量、複數個第二延伸症狀向量、複數個第三延伸症狀向量,及複數個第四延伸症狀向量;(e)該權重值計算單元分別求出對應該第一症狀向量、該第二症狀向量、該第一延伸症狀向量、該等第二延伸症狀向量、該等第三延伸症狀向量,及該等第四延伸症狀向量之複數個權重值(weight);(f)該錯誤位置向量決定單元根據該等權重值進行條件判斷,決定出一錯誤位置向量;以及(g)該運算單元根據該錯誤位置向量及已接收的該二位元序列解碼出對應的一原始資料。本發明之另一目的,即在提供一種格雷碼之解碼器。
於是,本發明格雷碼之解碼器,包含一資料緩衝儲存
(buffer)單元、一症狀向量計算單元、一延伸症狀向量計算單元、一權重值計算單元、一錯誤位置向量決定單元,及一運算單元。
該資料緩衝儲存單元用以儲存已接收的一筆二位元序列。該症狀向量計算單元用以根據該二位元序列與預先定義的一第一輔助校驗矩陣,求出一第一症狀向量,及用以根據該二位元序列與預先定義的一第二輔助校驗矩陣,求出一第二症狀向量。該延伸症狀向量計算單元用以根據該第一症狀向量、該第二症狀向量,及該第一輔助校驗矩陣、該第二輔助校驗矩陣,求出一第一延伸症狀向量、複數個第二延伸症狀向量、複數個第三延伸症狀向量,及複數個第四延伸症狀向量。該權重值計算單元用以分別求出對應該第一症狀向量、該第二症狀向量、該第一延伸症狀向量、該等第二延伸症狀向量、該等第三延伸症狀向量,及該等第四延伸症狀向量之複數個權重值。該錯誤位置向量決定單元用以根據該等權重值進行條件判斷,決定出一錯誤位置向量。該運算單元用以根據該錯誤位置向量及已接收的該二位元序列解碼出對應的一原始資料。
本發明之功效在於:藉由該等權重值之條件判斷,決定出該錯誤位置向量,並據以求出該原始資料;不但可以有效率地進行格雷碼之解碼,且其運算複雜度、所需閘數及成本皆大幅低於現有之演算法,適合以硬體實現。
有關本發明之前述及其他技術內容、特點與功效,在
以下配合參考圖式之一個較佳實施例的詳細說明中,將可清楚的呈現。
參閱圖1,本發明格雷碼之解碼器1之較佳實施例包含一資料緩衝儲存單元11、一症狀向量計算單元12、一延伸向量計算單元13、一權重值計算單元14、一錯誤位置向量決定單元15,及一運算單元16。
該資料緩衝儲存單元11用以儲存已接收的一筆二位元序列。該症狀向量計算單元12用以根據該二位元序列與預先定義的一第一輔助校驗矩陣,求出一第一症狀向量,及用以根據該二位元序列與預先定義的一第二輔助校驗矩陣,求出一第二症狀向量。該延伸向量計算單元13用以根據該第一症狀向量、該第二症狀向量,及該第一輔助校驗矩陣、該第二輔助校驗矩陣,求出一第一延伸症狀向量、複數個第二延伸症狀向量、複數個第三延伸症狀向量,及複數個第四延伸症狀向量。該權重值計算單元14用以分別求出對應該第一症狀向量、該第二症狀向量、該第一延伸症狀向量、該等第二延伸症狀向量、該等第三延伸症狀向量,及該等第四延伸症狀向量之複數個權重值。該錯誤位置向量決定單元15用以根據該等權重值進行條件判斷,決定出一錯誤位置向量。該運算單元16用以根據該錯誤位置向量及已接收的該二位元序列解碼出對應的一原始資料。
在本較佳實施例中,該格雷碼之解碼器1係以硬體(hardware)方式實施,但其亦可以軟體(software)或韌體(firmware)方式實施,並不限於本較佳實施例之例示。
在進行格雷碼之解碼方法的描述之前,預先定義其步驟中會使用到的矩陣。
(23,12,7)格雷碼生成多項式如式(1)所示。
其中,Q 23
為在模(modulo)23下的非0二元平方剩餘的集合;β
為格雷碼生成多項式的根(root)。
而對於每一j
=0,1,...,22,β j
如式(2)所示。
β j
=a j
,0 α 0
+a j
,1 α 1
+...+a j
,10 α 10
………(2)
其中,α
為迦羅瓦體(Galois Field)GF
(211
)的原根(primitive root);a j
,0
,a j
,1
,...,a j
,10
為格雷碼生成多項式的根之原根係數,且,定義格雷碼生成多項式的根之一原根係數矩陣(以A
代表),如式(3)所示。
其中,定義A 1
為原根係數矩陣A
的一上半子矩陣;A 2
為原根係數矩陣A
的一下半子矩陣。
進一步定義一第一輔助校驗矩陣(以T 1
代表),以及一第二輔助校驗矩陣(以T 2
代表),分別如式(4)以及(5)所示。
參閱圖1與圖2,配合上述格雷碼之解碼器1,本發明格雷碼之解碼方法的較佳實施例包含下列步驟。
在步驟21中,該格雷碼之解碼器1接收該二位元序列(以代表);並儲存於該資料緩衝儲存單元11。
在步驟22中,該症狀向量計算單元12根據該二位元序列,及第一輔助校驗矩陣T 1
、第二輔助校驗矩陣T 2
,分別求出該第一症狀向量(以代表),及該第二症狀向量(以代表),分別如式(6)以及(7)所示。
在步驟23中,該延伸症狀向量計算單元13根據該第一症狀向量、第二症狀向量,及該第一輔助校驗矩陣T 1
、第二輔助校驗矩陣T 2
,求出該第一延伸症狀向量、該等第二延伸症狀向量、該等第三延伸症狀向量,及該等第四延伸症狀向量,分別如式(8)、(9)、(10)及(11)所示。
其中,為該第一、該第二輔助校驗矩陣T j
的第i
列向量,j
=1,2;⊕為有限體加法運算,在此即是互斥或(XOR)
運算。
在步驟24中,該權重值計算單元14先求出該第一症狀向量、第二症狀向量、該第一延伸症狀向量、該等第二延伸症狀向量、該等第三延伸症狀向量,及該等第四延伸症狀向量的權重值,分別以、、、、,及代表。然後該錯誤位置向量決定單元15根據、、、、,及進行以下條件判斷,並依條件判斷的結果決定出錯誤向量(以代表)。值得一提的是,對於可解的(decodable)的二位元序列,依上述運算求出的權重值,必定僅符合以下六種情況的其中一者。
情況一:若,則e i
=0,其中,;情況二:若,且,則e 11
=0且e i
+12
=s i
,其中,;情況三:若,且,則e 11
=1且e i
+12
=s i
,其中,;情況四:若存在唯一的一i
值,,使得,則e i
=1,且e j
=0,其中,,且j
≠i
;情況五:若存在唯一的一i
值,,使得,則e 11
=1,e i
=1,且e j
=0,其中,,且j
≠i
;以及情況六:若存在唯一的一i
值,,使得,且,則e 11
=0且e j
+12
=s j
,其中,。
上述情況中的e i
代表該錯誤位置向量的第i
位元,錯誤位置向量位元中未被給定(assign)值的位元表示不在乎位元(don’t care bit)。
在步驟25中,該運算單元16將該錯誤位置向量與該二位元序列進行互斥或運算,以解碼出該原始資料(以代表),如式(12)所示。
綜上所述,本發明藉由該等權重值之條件判斷,可以較少的運算元決定出該錯誤位置向量,並據以求出該原始資料,而且上述條件判斷中的六種情況,在硬體上可以平行(parallel)方式實現;不但大幅提昇了格雷碼之解碼效率,且其運算規則性高,而複雜度、所需閘數及成本皆遠低於現有之演算法,極適合以硬體實現,故確實能達成本發明之目的。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。
1‧‧‧格雷碼之解碼器
11‧‧‧資料緩衝儲存單元
12‧‧‧症狀向量計算單元
13‧‧‧延伸症狀向量計
算單元
14‧‧‧權重值計算單元
15‧‧‧錯誤位置向量決定單元
16‧‧‧運算單元
21~25‧‧‧步驟
圖1是一方塊圖,說明本發明格雷碼之解碼器的較佳實施例;以及圖2是一流程圖,說明本發明格雷碼之解碼方法的較佳實施例。
21~25...步驟
Claims (12)
- 一種格雷碼之解碼方法,以一格雷碼之解碼器來實現,該格雷碼之解碼器包括一症狀向量計算單元、一延伸症狀向量計算單元、一權重值計算單元、一錯誤位置向量決定單元,及一運算單元,該方法包含下列步驟:(a)該格雷碼之解碼器接收一筆二位元序列;(b)該症狀向量計算單元根據已接收的該二位元序列,及預先定義的一第一輔助校驗矩陣,求出一第一症狀向量;(c)該症狀向量計算單元根據已接收的該二位元序列,及預先定義的一第二輔助校驗矩陣,求出一第二症狀向量;(d)該延伸症狀向量計算單元根據該第一症狀向量、該第二症狀向量,及該第一輔助校驗矩陣、該第二輔助校驗矩陣,求出一第一延伸症狀向量、複數個第二延伸症狀向量、複數個第三延伸症狀向量,及複數個第四延伸症狀向量;(e)該權重值計算單元分別求出對應該第一症狀向量、該第二症狀向量、該第一延伸症狀向量、該等第二延伸症狀向量、該等第三延伸症狀向量,及該等第四延伸症狀向量之複數個權重值;(f)該錯誤位置向量決定單元根據該等權重值進行條件判斷,決定出一錯誤位置向量;以及(g)該運算單元根據該錯誤位置向量及已接收的該 二位元序列解碼出對應的一原始資料。
- 依據申請專利範圍第1項所述之格雷碼之解碼方法,其中,該第一輔助校驗矩陣T 1 為,該第二輔助校驗矩陣T 2 為,其中,A 為格雷碼生成多項式的根之一原根係數矩陣,A 1 為A 的一上半子矩陣,A 2 為A 的一下半子矩陣。
- 依據申請專利範圍第2項所述之格雷碼之解碼方法,其中,該第一症狀向量為,該第二症狀向量為,其中,為已接收的該二位元序列。
- 依據申請專利範圍第3項所述之格雷碼之解碼方法,其中,該第一延伸症狀向量為,該等第二延伸症狀向量為,該等第三延伸症狀向量為,該等第四延伸症狀向量為,其中,為該第一輔助校驗矩陣、該第二輔助校驗矩陣T j 的第i 列向量,j =1,2。
- 依據申請專利範圍第4項所述之格雷碼之解碼方法,其中,在該步驟(f)中,係進行以下條件判斷,以決定該錯誤位置向量,其中,e i 代表錯誤位置向量的第i 位元,且、、、、,及分別代表該第一症狀向量的權重值、該第二症狀向量的權重值、該第一延伸症狀向量的權重值、該等第二延伸症狀向量的權重值、該等第三延伸症狀向量的權重值,及該等第四延伸症狀向量的權重值:情況一:若,則e i =0,其中,; 情況二:若,且,則e 11 =0且e i +12 =s i ,其中,;情況三:若,且,則e 11 =1且e i +12 =s i ,其中,;情況四:若存在唯一的一i 值,,使得,則e i =1,且e j =0,其中,,且j ≠i ;情況五:若存在唯一的一i 值,,使得,則e 11 =1,e i =1,且e j =0,其中,,且j ≠i ;以及情況六:若存在唯一的一i 值,,使得,且,則e 11 =0且e j +12 =s j ,其中,。
- 依據申請專利範圍第1項所述之格雷碼之解碼方法,其中,在該步驟(g)中,係將該錯誤位置向量及已接收的該二位元序列進行互斥或運算,以解碼出該原始資料。
- 一種格雷碼之解碼器,包含:一資料緩衝儲存單元,用以儲存已接收的一筆二位元序列;一症狀向量計算單元,用以根據該二位元序列與預先定義的一第一輔助校驗矩陣,求出一第一症狀向量,及用以根據該二位元序列與預先定義的一第二輔助校驗矩陣,求出一第二症狀向量;一延伸症狀向量計算單元,用以根據該第一症狀向 量、該第二症狀向量,及該第一輔助校驗矩陣、該第二輔助校驗矩陣,求出一第一延伸症狀向量、複數個第二延伸症狀向量、複數個第三延伸症狀向量,及複數個第四延伸症狀向量;一權重值計算單元,用以分別求出對應該第一症狀向量、該第二症狀向量、該第一延伸症狀向量、該等第二延伸症狀向量、該等第三延伸症狀向量,及該等第四延伸症狀向量之複數個權重值;一錯誤位置向量決定單元,用以根據該等權重值進行條件判斷,決定出一錯誤位置向量;以及一運算單元,用以根據該錯誤位置向量及已接收的該二位元序列解碼出對應的一原始資料。
- 依據申請專利範圍第7項所述之格雷碼之解碼器,其中,該第一輔助校驗矩陣T 1 為,該第二輔助校驗矩陣T 2 為,其中,A 為格雷碼生成多項式的根之一原根係數矩陣,A 1 為A 的一上半子矩陣,A 2 為A 的一下半子矩陣。
- 依據申請專利範圍第8項所述之格雷碼之解碼器,其中,該症狀向量計算單元之運算如下:該第一症狀向量為,該第二症狀向量為,其中,為已接收的該二位元序列。
- 依據申請專利範圍第9項所述之格雷碼之解碼器,其中,該延伸症狀向量計算單元之運算如下:該第一延伸症狀向量為,該等第二延伸症狀向量為,該等第三延伸症狀向量為,該等第四延伸症狀向量 為,其中,為該第一輔助校驗矩陣、該第二輔助校驗矩陣T j 的第i 列向量,j =1,2。
- 依據申請專利範圍第10項所述之格雷碼之解碼器,其中,該錯誤位置向量決定單元係進行以下條件判斷,以決定該錯誤位置向量,其中,e i 代表錯誤位置向量的第i 位元,且、、、、,及分別代表該第一症狀向量的權重值、該第二症狀向量的權重值、該第一延伸症狀向量的權重值、該等第二延伸症狀向量的權重值、該等第三延伸症狀向量的權重值,及該等第四延伸症狀向量的權重值:情況一:若,則e i =0,其中,;情況二:若,且,則e 11 =0且e i +12 =s i ,其中,;情況三:若,且,則e 11 =1且e i +12 =s i ,其中,;情況四:若存在唯一的一i 值,,使得,則e i =1,且e j =0,其中,,且j ≠i ;情況五:若存在唯一的一i 值,,使得,則e 11 =1,e i =1,且e j =0,其中,,且j ≠i ;以及 情況六:若存在唯一的一i 值,,使得,且,則e 11 =0且e j +12 =s j ,其中,。
- 依據申請專利範圍第7項所述之格雷碼之解碼器,其中,該運算單元係將該錯誤位置向量及已接收的該二位元序列進行互斥或運算,以解碼出該原始資料。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98102028A TWI385931B (zh) | 2009-01-20 | 2009-01-20 | Gray code decoding method and decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98102028A TWI385931B (zh) | 2009-01-20 | 2009-01-20 | Gray code decoding method and decoder |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201029339A TW201029339A (en) | 2010-08-01 |
TWI385931B true TWI385931B (zh) | 2013-02-11 |
Family
ID=44853999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW98102028A TWI385931B (zh) | 2009-01-20 | 2009-01-20 | Gray code decoding method and decoder |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI385931B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI742371B (zh) * | 2019-05-13 | 2021-10-11 | 義守大學 | 應用單項跡之錯誤更正方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10826533B2 (en) | 2015-11-02 | 2020-11-03 | Chongqing University Of Posts And Telecommunications | Methods, systems, and computer-readable media for decoding a cyclic code |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5323402A (en) * | 1991-02-14 | 1994-06-21 | The Mitre Corporation | Programmable systolic BCH decoder |
US5373511A (en) * | 1992-05-04 | 1994-12-13 | Motorola, Inc. | Method for decoding a reed solomon encoded signal with inner code and apparatus for doing same |
US6631490B2 (en) * | 2000-07-07 | 2003-10-07 | Fujitsu Limited | Encoding unit and decoding unit |
TW200540609A (en) * | 2004-06-03 | 2005-12-16 | Cheertek Inc | System and method for detecting codeword errors in error correction code or cyclic redundancy check code |
-
2009
- 2009-01-20 TW TW98102028A patent/TWI385931B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5323402A (en) * | 1991-02-14 | 1994-06-21 | The Mitre Corporation | Programmable systolic BCH decoder |
US5373511A (en) * | 1992-05-04 | 1994-12-13 | Motorola, Inc. | Method for decoding a reed solomon encoded signal with inner code and apparatus for doing same |
US6631490B2 (en) * | 2000-07-07 | 2003-10-07 | Fujitsu Limited | Encoding unit and decoding unit |
TW200540609A (en) * | 2004-06-03 | 2005-12-16 | Cheertek Inc | System and method for detecting codeword errors in error correction code or cyclic redundancy check code |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI742371B (zh) * | 2019-05-13 | 2021-10-11 | 義守大學 | 應用單項跡之錯誤更正方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201029339A (en) | 2010-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10243589B2 (en) | Multi-bit error correction method and apparatus based on a BCH code and memory system | |
US10187085B2 (en) | Decoding method, decoding apparatus and decoder | |
US9053047B2 (en) | Parameter estimation using partial ECC decoding | |
KR102352158B1 (ko) | 리스트 디코딩 생성을 통한 이진 bch 코드들의 bm-기반 빠른 체이스 디코딩에서 빠른 다항식 업데이트를 위한 방법을 수행하기 위한 asic | |
JP2001036417A (ja) | 誤り訂正符号化装置、方法及び媒体、並びに誤り訂正符号復号装置、方法及び媒体 | |
JP2011514743A (ja) | 受信したシンボル列におけるフェーズドバーストエラー、消失、シンボルエラー、及び、ビットエラーを検出及び訂正するための方法及びシステム | |
JP7012479B2 (ja) | リード・ソロモン復号器及び復号方法 | |
US20090259921A1 (en) | Method and apparatus for decoding shortened bch codes or reed-solomon codes | |
KR101314232B1 (ko) | 에러 정정 코드의 부호화 및 복호화 방법 그리고 코덱 | |
JP7116374B2 (ja) | 短縮レイテンシ誤り訂正復号 | |
TWI385931B (zh) | Gray code decoding method and decoder | |
US9191029B2 (en) | Additional error correction apparatus and method | |
US6651214B1 (en) | Bi-directional decodable Reed-Solomon codes | |
US20170222752A1 (en) | Decoding device, information transmission system, decoding method, and non-transitory computer readable medium | |
TWI487291B (zh) | 循環碼解碼器及其方法 | |
US9236890B1 (en) | Decoding a super-code using joint decoding of underlying component codes | |
CN115037415A (zh) | 基于crc的纠错编码的方法、装置、终端 | |
WO2013027483A1 (ja) | 誤り訂正復号装置 | |
KR101154923B1 (ko) | 비씨에이치 디코더, 이를 포함하는 메모리 시스템 및 비씨에이치 디코딩 방법 | |
KR102353983B1 (ko) | 순환 중복 검사(crc)에서 알고리즘의 배열 방법 | |
US8296632B1 (en) | Encoding and decoding of generalized Reed-Solomon codes using parallel processing techniques | |
TWI776483B (zh) | 循環碼之編碼與解碼方法 | |
RU2575399C1 (ru) | Способ декодирования ldpc-кодов и устройство его реализующее | |
WO2024042664A1 (ja) | 誤り訂正復号装置及び誤り訂正復号方法 | |
TWI533621B (zh) | The decoding method of cyclic code and its device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |