100 likes | 270 Views
Ch7 FCS. 補充:錯誤偵測及修正 FCS. 引自 http://www.cs.nchu.edu.tw/~fileman/notepad/dc3_2.htm. 錯誤偵測的方法. 在實際的傳輸程序中所產生的錯誤,以某些媒體來說(如無線電),較容易產生突發性的狀況。 偵測錯誤所需的技術 同位元檢查法 ( Parity bit check method ) 區塊總合檢查法 ( Block sum check method ) 多項式碼檢查法 ( Polynomial code check method ). 多項式碼檢查法.
E N D
Ch7 FCS 補充:錯誤偵測及修正 FCS 引自 http://www.cs.nchu.edu.tw/~fileman/notepad/dc3_2.htm
錯誤偵測的方法 • 在實際的傳輸程序中所產生的錯誤,以某些媒體來說(如無線電),較容易產生突發性的狀況。 • 偵測錯誤所需的技術 • 同位元檢查法 ( Parity bit check method ) • 區塊總合檢查法 ( Block sum check method ) • 多項式碼檢查法 ( Polynomial code check method )
多項式碼檢查法 • 多項式碼的方式是將字元字串視為一個多項式,其係數僅為0或1。一個 k 位元框架被認 為是多項式含有 k 項的串列係數。範圍從 xk-1到 x0。這樣的多項式稱為 xk-1次數。 • 例如: 110001 有 6 位元,可表示為 6 項多項式,其係數為 1、1、0、0、0、1,以及 x5 + x4 +1。
多項式碼檢查法 • 使用多項式碼的方法,傳送端與接收端必須事先同意一 個多項式產生器( generator polynomial ) ,G(x)。 • 產生器的高位元和低位元都必須 是 1。要計算某個含有 m 位元框架的檢查碼( checksum ),其對應的多項式 M(x), 框架的長度必須比產生器還長。 • 其想法為在框架尾端附上一個檢查碼,如此含有檢查碼的框架可被 G(x) 相除。如果相除的結果有餘數,則傳輸必定有誤。
計算檢查碼的演算法如下: • 設 G(x) 的次數為 r ,在框架的尾部附上 r 位元的 0 。因此框架現在含有 m + r 個位元, 其對應的多項式為 xrM(x)。 • 將 xrM(x) 的位元除以 G(x) 對應的位元字串,並使用模數 2 的除法。 • 從 xrM(x) 對應的位元字串,使用模數 2 的減法減掉餘數。結果就是所要傳送含有檢查 碼的框架。我們稱此多項式為 T(x)。
多項式碼檢查法 • 這個檢查數字又稱為 • 『資料框檢查序列 ( Frame check sequence ; FCS)』或『循環重複檢查數字 (Cyclic redendancy check ; CRC )』。
測驗 • 若CRC的generator是x5+x3+x+1, 所欲傳輸的資料是100111010011, 則經CRC後傳出去的資料應該為何? • 00001 • 01011 • 10011101001100001 • 10011101001101011