五、錯誤更正碼(Error Correction Codes, ECC)是用來解決在資料傳輸的過程中,因資料損毀、雜訊等原因造成資料錯誤的問題。Single-Error Correcting(SEC)Codes 是一常用的錯誤更正碼,顧名思義,這種 SEC 編碼方式只能更正一個位元的錯誤。以下是一種 SEC 錯誤更正碼的例子。
如圖所示,A, B 以及 C 為三個彼此之間互有交集的集合,為了區別,我們在三個集合的不同交集區域標上 1~7 個編號,分別代表 x1, x2 ,…, x7,每一個區域的值可為 0 或是 1。此 SEC 碼的編碼規則如下:如果 (x1, x2 ,…, x7) 是一組碼字(Codeword),則 A, B, C 三個集合中的“1”的個數必須為偶數。此種檢查 A, B, C 集合中的“1”的個數必須為偶數的機制也稱 Even-parity Check。
(二)為了方便說明,我們以
記為碼字,而以
記為錯誤向量。對於所給定的碼字
=(1,1,0,1,0,1,0) ,在其上隨意加入一個位元的錯誤,例如
=(0,0,0,0,0,1,0)(註:因為有 7 個位置,因此共有 7 種可能),那麼
則為所接收的訊息,也就是![]()
請證明針對一組碼字
=(1,1,0,1,0,1,0),任何一個位元的錯誤都能被偵測且更正回來。(8 分)