暢談無線通信系統物理層之CRC(二)工作原理與類型

​​ 二、 工作原理

循環冗餘校驗同其他差錯檢測方式一樣,通過在要傳輸的k比特數據D後添加(n-k)比特冗餘位(又稱幀檢驗序列,Frame Check Sequence,FCS)F形成n比特的傳輸幀T,再將其發送出去。

如何生成比特冗餘位呢?核心原理就一種,用傳輸的k比特數據除以某一個被除序列,得到的餘序列(正常的順序是減去餘序列,但是因爲模2減法和模2加法相同,減去餘序列等同於加上餘序列)即爲比特冗餘位。這樣,發送的完整序列除以被除序列就爲0,因爲被除序列接收端也是知道的,所以接收端用用接收到的完整序列除以被除序列,爲0判斷爲正確,不爲0判斷爲錯誤。  

有2種方法介紹比特冗餘位的生成過程,第一種是直接法,第二種是多項式法。

直接法:與十進制除法過程一樣,但用的是模2除法,模2除法與算術除法類似,但每一位除的結果不影響其它位,不借位, 實際上就是異或。假設4比特傳輸數據爲1111,被除序列爲1101,除法如下圖所示,得到的餘序列爲111,最終發送序列爲1111111。

多項式法:把傳輸的k比特數據、被除序列和餘序列均看成多項式的形式,用多項式除法得到餘式多項式r(x)。被除序列爲生成多項式g(x)。傳輸的k比特數據爲信息序列多項式M(x)。

1  M(x)添加(n-k)個0,即x^(n-k)M(x);

2  x^(n-k)M(x)模2除以g(x),得到商多項式q(x),餘式多項式r(x),即

          x^(n-k)M(x)  + r(x) = q(x) g(x)

3 從x^(n-k)M(x)中減去r(x),即爲發送多項式,因爲模2減法和模2加法相同,所以r(x)即爲比特冗餘位對應的多項式。

三、類型

生成多項式g(x)理論上可以任意設置,但不同的設置有不同的性能,需要滿足:

  • 最高位和最低位都是1
  • 當被傳送信息任何一位發生錯誤時,P(X)不被T(X)整除
  • 不同位發生錯誤時,餘數應該不同
  • 對餘數繼續做模二除法時,應該使餘數循環

常用標準CRC生成多項式如下表:

   名稱          生成多項式              簡記式                             標準引用

  •    CRC-4         x4+x+1                             3                                   ITU G.704
  •    CRC-8         x8+x5+x4+1                     0x31                    
  •    CRC-8         x8+x2+x1+1                     0x07                   
  •    CRC-8         x8+x6+x4+x3+x2+x1       0x5E
  •    CRC-12        x12+x11+x3+x+1            80F
  •    CRC-16        x16+x15+x2+1              8005                         IBM SDLC
  •    CRC16-CCITT  x16+x12+x5+1         1021                          ISO HDLC, ITU X.25, V.34/V.41/V.42, PPP-FCS
  •    CRC-32      x32+x26+x23+...+x2+x+1  04C11DB7           ZIP, RAR, IEEE 802 LAN/FDDI, IEEE 1394, PPP-FCS
  •   CRC-32c     x32+x28+x27+...+x8+x6+1  1EDC6F41         SCTP

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章