|
vtpp4vvsgfj64044431419.gif (60.41 KB, 下載次數(shù): 0)
下載附件
保存到相冊
vtpp4vvsgfj64044431419.gif
2024-11-30 22:01 上傳
* E: ? v- c! q點(diǎn)擊上方藍(lán)色字體,關(guān)注我們% E; ?/ q- u# j/ _" ]9 T5 M
8 t1 O1 O' G8 Z
選擇CRC校驗(yàn)碼的長度時確實(shí)需要在檢錯能力和系統(tǒng)開銷之間做出權(quán)衡。CRC碼的長度(通常是4、8、16、32位)直接影響到能檢測到的錯誤類型和概率。7 S! Q7 V# o+ h2 J: N1 z
( T9 @1 j/ v+ d" a
0tnvlapkqrq64044431519.png (761.3 KB, 下載次數(shù): 0)
下載附件
保存到相冊
0tnvlapkqrq64044431519.png
2024-11-30 22:01 上傳
; Q* y3 @6 U' K3 f/ I要確定在一定檢錯概率 p 下的最小CRC長度,可以從幾個方面入手,包括信息長度 n、錯誤檢測概率需求 p、以及CRC多項(xiàng)式的選擇。
|3 a, G0 |8 g' T5 y/ ?+ { B- b+ }. F+ D6 e4 X, Z
下面從理論背景、實(shí)用方法以及計算步驟等方面詳細(xì)解釋。
) q! j6 d8 [* b$ ]0 F( [1 w. W/ n1
/ Z, d$ r b% [: p: G理論背景:CRC的檢錯原理
9 I5 l- u5 k/ _+ V; s. OCRC(Cyclic Redundancy Check)使用一個特定的生成多項(xiàng)式對數(shù)據(jù)幀進(jìn)行余數(shù)計算,產(chǎn)生一個校驗(yàn)碼。8 C1 ?- f* g$ K# i
: b; J; p3 m+ b. S ]
接收端利用相同的多項(xiàng)式重算余數(shù),如果余數(shù)為零則判定無誤差,否則判定出錯。
@$ R4 L8 M; D" i# [; J5 M/ C6 Z l- H0 d
對于不同長度的CRC碼,其生成多項(xiàng)式能探測不同類型的錯誤: V/ q4 g$ j1 l0 c* q6 N
單比特錯誤:任何CRC都能檢測單比特錯誤。連續(xù)位翻轉(zhuǎn)的突發(fā)錯誤:長度為 k 位的CRC最多可以檢測到長度不超過 k 位的突發(fā)錯誤。隨機(jī)錯誤:概率與CRC碼的位數(shù)有關(guān)。9 l' H: h3 j1 Z3 u3 a
6 p/ B- ?8 G4 ~2 Y1 A) i
2
) T- O" W8 k# _& S9 E% @檢錯概率的數(shù)學(xué)模型
3 i3 o0 b3 G. s2 w/ d8 c% SCRC的檢錯概率可以近似通過以下公式進(jìn)行估算:
0 h9 y; a1 p2 ^5 u" @+ ^
vkrxvwac1xd64044431619.jpg (16.17 KB, 下載次數(shù): 1)
下載附件
保存到相冊
vkrxvwac1xd64044431619.jpg
2024-11-30 22:01 上傳
* c7 G2 M) Z. n$ H$ P" H( O
其中 k為CRC校驗(yàn)碼的位數(shù)。
) {3 |; c+ r7 g8 W: ~/ |8 h; W5 E
+ f2 @0 X5 H! o+ i$ b# r @& r例如,對于一個8位的CRC碼,理論上可檢測到的錯誤概率約為 1?1/256=0.996。從公式中可以看出,位數(shù)越多,檢錯概率越高。% R2 x$ f, L% K1 z, M/ Y' T
3
- A: r- H7 M; M M- ], q根據(jù)信息長度 n 和所需檢錯概率 p 計算CRC位數(shù)1 r6 H2 ]$ v$ R/ G% l8 `
在實(shí)際應(yīng)用中,我們可以通過以下步驟來確定CRC的位數(shù):確定目標(biāo)檢錯概率:假設(shè)我們要求的檢錯概率 Pdetect≥p。
1 M$ C+ C* B2 T Y
+ E. o: V/ e6 i, h& D代入公式并求出位數(shù):我們可以重新排列公式來得到最小的CRC位數(shù):
: N7 y: B/ e& Z
5hnnjxxd4il64044431719.jpg (19.08 KB, 下載次數(shù): 0)
下載附件
保存到相冊
5hnnjxxd4il64044431719.jpg
2024-11-30 22:01 上傳
/ U; _- C) l( f: K+ e例如,若我們希望檢錯概率 p=0.999,則:
4 N( L4 ~: D% b* V" B( X0 K
33vw2bzldje64044431819.jpg (34.05 KB, 下載次數(shù): 0)
下載附件
保存到相冊
33vw2bzldje64044431819.jpg
2024-11-30 22:01 上傳
" s5 m& E0 m1 p- |# ?! |% n, D' u( |這意味著至少需要10位的CRC才能滿足這個檢錯概率。" A5 v1 F; v. w7 x" w
. [: N! c) c( V
考慮信息長度 n:雖然理論上,CRC的檢錯能力與信息長度 n 不直接相關(guān),但在極長的幀中,可能會遇到極端情況。
) ]8 L) ~6 _1 w0 L. f8 F6 q6 D# \" {' i8 `+ Q
因此,當(dāng) n 非常大(如數(shù)百甚至上千位)時,建議增加1-2位以提高穩(wěn)健性。. f3 f& }3 C3 B0 s6 F, E5 k) q! W! M
43 W, U4 }) x, q: z
CRC位數(shù)選擇的經(jīng)驗(yàn)法則
% x7 B* L) Q$ _+ `短數(shù)據(jù)幀(如10-100比特):通常8位的CRC碼已經(jīng)可以提供很高的檢錯概率,適合普通通信應(yīng)用。中等數(shù)據(jù)幀(100-1000比特):16位的CRC是更合適的選擇,適合要求較高檢錯概率的協(xié)議。長數(shù)據(jù)幀(1000比特以上):32位CRC可以提供極高的檢錯能力,多用于高可靠性的工業(yè)、通信或存儲系統(tǒng)中。6 U2 z* o, c s! C: [5 u( R& `# ~. N
, k* f' S$ u" x/ s, ~# e) V) z假設(shè)你設(shè)計的協(xié)議需要保證檢錯概率不低于 p=0.999,且每幀數(shù)據(jù)為 n=500 比特。
) G# J: I1 n& q3 a0 v' W9 c, G9 D1 x( z+ ]5 K
根據(jù)上面的公式,我們計算得到的最小位數(shù)約為10位;結(jié)合數(shù)據(jù)幀長度,實(shí)際應(yīng)用中推薦至少選擇12位甚至16位的CRC,以確保滿足高檢錯需求。
, ] e! J3 {+ l) X8 ?* L+ p& w. f' j1 a2 F" z ~% X* \0 `
進(jìn)一步的,標(biāo)準(zhǔn)CRC多項(xiàng)式(如CRC-16或CRC-32)經(jīng)過廣泛驗(yàn)證,在通信和存儲應(yīng)用中可靠性高,通常推薦直接采用這些標(biāo)準(zhǔn)多項(xiàng)式。
. |9 t9 s. [ b: M5 O( H54 M/ N+ Y) G/ D5 g; ^* s6 N
CRC碼位數(shù)對系統(tǒng)的影響
7 c, g6 e' i0 G4 e3 Q0 h' s7 U位數(shù)越長的CRC校驗(yàn)碼,校驗(yàn)性能越好,但代價是數(shù)據(jù)包的開銷和計算復(fù)雜性增大。; g2 {- R8 k7 q. W8 m. e: Q$ O4 c
% w: A' k- p8 W- X+ v6 F典型的實(shí)現(xiàn)中:
+ P# e1 l& H8 J' M/ E2 D計算性能:硬件CRC加速器可以顯著降低較長CRC的計算延遲。通信開銷:8位CRC增加的傳輸開銷通常較小,但超過16位時,額外開銷對低速通信協(xié)議影響較大。
8 B% F6 q) Z- h) j/ \5 ~3 e
$ K1 b4 q' ?0 F1 y綜合以上分析,為了在實(shí)際應(yīng)用中確定CRC碼長度,建議的步驟如下:, E1 ~8 G b! d, h
根據(jù)要求的檢錯概率計算最小位數(shù)。考慮數(shù)據(jù)幀長度,適當(dāng)增加1-2位以提高穩(wěn)健性。使用標(biāo)準(zhǔn)CRC多項(xiàng)式以確保通用性和可靠性。. c7 h9 U! `3 e5 I: ^6 j2 X" _
& C' n9 t4 k+ U; I/ e
pa2u5r01uci64044431919.jpg (71.14 KB, 下載次數(shù): 0)
下載附件
保存到相冊
pa2u5r01uci64044431919.jpg
2024-11-30 22:01 上傳
6 j6 r9 }2 n$ Q& C
d0vuz2dwazn64044432019.gif (45.46 KB, 下載次數(shù): 0)
下載附件
保存到相冊
d0vuz2dwazn64044432019.gif
2024-11-30 22:01 上傳
# ^5 i. G5 S3 u& @# D
點(diǎn)擊閱讀原文,更精彩~ |
|