|
vtpp4vvsgfj64044431419.gif (60.41 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
vtpp4vvsgfj64044431419.gif
2024-11-30 22:01 上傳
' `" E: a$ k! ?- ]; t
點(diǎn)擊上方藍(lán)色字體,關(guān)注我們
/ ]7 y* O( a' b- a. t9 z2 K+ ?
# q. h2 t+ E8 }8 ~3 ?; a選擇CRC校驗(yàn)碼的長(zhǎng)度時(shí)確實(shí)需要在檢錯(cuò)能力和系統(tǒng)開銷之間做出權(quán)衡。CRC碼的長(zhǎng)度(通常是4、8、16、32位)直接影響到能檢測(cè)到的錯(cuò)誤類型和概率。
; I( Y# G9 R0 B& s; {3 W' D( i4 w+ N& X- i c/ Y G
0tnvlapkqrq64044431519.png (761.3 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
0tnvlapkqrq64044431519.png
2024-11-30 22:01 上傳
5 s. \# O" m+ A4 H要確定在一定檢錯(cuò)概率 p 下的最小CRC長(zhǎng)度,可以從幾個(gè)方面入手,包括信息長(zhǎng)度 n、錯(cuò)誤檢測(cè)概率需求 p、以及CRC多項(xiàng)式的選擇。& @' |9 C2 X# b9 i) U; B
( v) k, p, p5 }, B* G
下面從理論背景、實(shí)用方法以及計(jì)算步驟等方面詳細(xì)解釋。
# {, D+ n, P: W ]6 u' @19 t$ H1 W) `( Y+ D4 A+ g, \
理論背景:CRC的檢錯(cuò)原理
% o6 ]8 M4 N) b" v; QCRC(Cyclic Redundancy Check)使用一個(gè)特定的生成多項(xiàng)式對(duì)數(shù)據(jù)幀進(jìn)行余數(shù)計(jì)算,產(chǎn)生一個(gè)校驗(yàn)碼。0 R2 c3 |0 h+ U9 B! G2 p+ C
8 V4 ^& D7 E; a5 i$ ?; `
接收端利用相同的多項(xiàng)式重算余數(shù),如果余數(shù)為零則判定無(wú)誤差,否則判定出錯(cuò)。
0 O. x, o$ d& r* r# h+ X9 A2 J3 W/ }7 Y; E: g
對(duì)于不同長(zhǎng)度的CRC碼,其生成多項(xiàng)式能探測(cè)不同類型的錯(cuò)誤:
; C/ |. j4 D: t) t+ `單比特錯(cuò)誤:任何CRC都能檢測(cè)單比特錯(cuò)誤。連續(xù)位翻轉(zhuǎn)的突發(fā)錯(cuò)誤:長(zhǎng)度為 k 位的CRC最多可以檢測(cè)到長(zhǎng)度不超過 k 位的突發(fā)錯(cuò)誤。隨機(jī)錯(cuò)誤:概率與CRC碼的位數(shù)有關(guān)。" Y2 Q7 U! j& J
! \$ K3 L- Z) s2
; J9 \* w, k/ Q0 J V1 E: t檢錯(cuò)概率的數(shù)學(xué)模型
8 M) x4 C. u8 d: d3 ICRC的檢錯(cuò)概率可以近似通過以下公式進(jìn)行估算:
0 g& j/ R( r! X6 t. B# c. ?
vkrxvwac1xd64044431619.jpg (16.17 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
vkrxvwac1xd64044431619.jpg
2024-11-30 22:01 上傳
% l4 G- m+ c& A
其中 k為CRC校驗(yàn)碼的位數(shù)。
( X( N* A4 [+ K0 s+ Z0 ~4 h8 D. S0 w4 m" ?
例如,對(duì)于一個(gè)8位的CRC碼,理論上可檢測(cè)到的錯(cuò)誤概率約為 1?1/256=0.996。從公式中可以看出,位數(shù)越多,檢錯(cuò)概率越高。
& ^% R/ v9 _, L3 ~8 J" n j; C. Q" o
根據(jù)信息長(zhǎng)度 n 和所需檢錯(cuò)概率 p 計(jì)算CRC位數(shù)
3 W9 H" d& H! F* a- s, F$ H在實(shí)際應(yīng)用中,我們可以通過以下步驟來(lái)確定CRC的位數(shù):確定目標(biāo)檢錯(cuò)概率:假設(shè)我們要求的檢錯(cuò)概率 Pdetect≥p。
' y0 L, o9 P6 {- u: q; X6 b" e1 V3 P& F. v0 j1 M9 _
代入公式并求出位數(shù):我們可以重新排列公式來(lái)得到最小的CRC位數(shù):
& w- F$ l# y: S/ t+ t3 O z0 a8 |# h2 ?
5hnnjxxd4il64044431719.jpg (19.08 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
5hnnjxxd4il64044431719.jpg
2024-11-30 22:01 上傳
1 B2 A ]! P* \7 \0 N3 H例如,若我們希望檢錯(cuò)概率 p=0.999,則:
- g; {0 [4 e6 B( G# C2 M; q
33vw2bzldje64044431819.jpg (34.05 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
33vw2bzldje64044431819.jpg
2024-11-30 22:01 上傳
5 p; t' `6 k1 n* \: \0 ^# H
這意味著至少需要10位的CRC才能滿足這個(gè)檢錯(cuò)概率。
, |6 X y1 y N* |, V
$ C4 A2 L O/ j# v9 V" q, e考慮信息長(zhǎng)度 n:雖然理論上,CRC的檢錯(cuò)能力與信息長(zhǎng)度 n 不直接相關(guān),但在極長(zhǎng)的幀中,可能會(huì)遇到極端情況。# o6 t+ }" ^: B' y, z1 v; B5 j
: f u8 e& f" ]0 `' i/ n4 i$ b8 G
因此,當(dāng) n 非常大(如數(shù)百甚至上千位)時(shí),建議增加1-2位以提高穩(wěn)健性。; |5 q- R( t9 A5 S+ j# `
4, `( [; E+ R" _
CRC位數(shù)選擇的經(jīng)驗(yàn)法則8 n7 ~5 P& @1 Z
短數(shù)據(jù)幀(如10-100比特):通常8位的CRC碼已經(jīng)可以提供很高的檢錯(cuò)概率,適合普通通信應(yīng)用。中等數(shù)據(jù)幀(100-1000比特):16位的CRC是更合適的選擇,適合要求較高檢錯(cuò)概率的協(xié)議。長(zhǎng)數(shù)據(jù)幀(1000比特以上):32位CRC可以提供極高的檢錯(cuò)能力,多用于高可靠性的工業(yè)、通信或存儲(chǔ)系統(tǒng)中。
n/ Y- C9 b& o9 L7 W, l1 U
R1 b, [8 M( c假設(shè)你設(shè)計(jì)的協(xié)議需要保證檢錯(cuò)概率不低于 p=0.999,且每幀數(shù)據(jù)為 n=500 比特。7 B/ |8 i+ T0 Y0 G4 c
' V" U( Q& ]& A W' X根據(jù)上面的公式,我們計(jì)算得到的最小位數(shù)約為10位;結(jié)合數(shù)據(jù)幀長(zhǎng)度,實(shí)際應(yīng)用中推薦至少選擇12位甚至16位的CRC,以確保滿足高檢錯(cuò)需求。# S+ _! C6 D' m3 Z* ?
" g# u1 ]$ y* O1 K) }, E* Z
進(jìn)一步的,標(biāo)準(zhǔn)CRC多項(xiàng)式(如CRC-16或CRC-32)經(jīng)過廣泛驗(yàn)證,在通信和存儲(chǔ)應(yīng)用中可靠性高,通常推薦直接采用這些標(biāo)準(zhǔn)多項(xiàng)式。. L6 X e6 w# h, \' |9 N5 i% @
5
: X! s6 D% h) {- JCRC碼位數(shù)對(duì)系統(tǒng)的影響: k1 Y F4 R1 z# \' l1 s* t
位數(shù)越長(zhǎng)的CRC校驗(yàn)碼,校驗(yàn)性能越好,但代價(jià)是數(shù)據(jù)包的開銷和計(jì)算復(fù)雜性增大。
; U* ^; T! c/ l0 Z; p* G
' d) ~) |" A, U0 ?0 n典型的實(shí)現(xiàn)中:$ D' a4 K+ @- p+ R5 w
計(jì)算性能:硬件CRC加速器可以顯著降低較長(zhǎng)CRC的計(jì)算延遲。通信開銷:8位CRC增加的傳輸開銷通常較小,但超過16位時(shí),額外開銷對(duì)低速通信協(xié)議影響較大。
( Q* u3 _7 Y" A' F/ q0 ^! Y2 I/ }% Q" H7 o- l
綜合以上分析,為了在實(shí)際應(yīng)用中確定CRC碼長(zhǎng)度,建議的步驟如下:
0 a; f, n9 |$ ~根據(jù)要求的檢錯(cuò)概率計(jì)算最小位數(shù)。考慮數(shù)據(jù)幀長(zhǎng)度,適當(dāng)增加1-2位以提高穩(wěn)健性。使用標(biāo)準(zhǔn)CRC多項(xiàng)式以確保通用性和可靠性。& Y K7 F- H; a0 P3 d
, z" Q2 K7 B0 R
pa2u5r01uci64044431919.jpg (71.14 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
pa2u5r01uci64044431919.jpg
2024-11-30 22:01 上傳
; Q3 M5 w C( ~: t( W9 W
d0vuz2dwazn64044432019.gif (45.46 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
d0vuz2dwazn64044432019.gif
2024-11-30 22:01 上傳
% a) H) j, n3 ^& I" i點(diǎn)擊閱讀原文,更精彩~ |
|