果冻传媒高清在线播放_黑人巨茎大战椎名由奈_女人毛片视频_高中生喷水喷浆 - 成人国产精品

歡迎來到通信人在線![用戶登錄] [免費注冊]

循環(huán)冗余校驗碼(CRC)介紹

瀏覽:13288  來源:通信人在線  日期:2020-03-02

一、關(guān)于糾錯與檢錯

糾正數(shù)據(jù)傳輸中出現(xiàn)的錯誤原則上可有兩種做法:一是直接采用糾錯碼對某些錯碼進(jìn)行糾正;二是利用檢錯碼(校驗碼)進(jìn)行檢錯,然后對出錯幀進(jìn)行重傳。糾錯碼以增加附加比特,也即降低傳輸效率為代價,換來糾錯能力。糾錯碼在某些場合較有實用價值,如單工信道,由于收方即使檢測到錯誤也不可能通知發(fā)方重傳,要想保證傳輸內(nèi)容的正確性,只好采用糾錯碼。在大多數(shù)情況下,采用檢錯碼加重傳的方式效率更高,特別是在通信誤碼率較低的場合。

最簡單的檢錯方式為奇偶校驗法,即在每個數(shù)據(jù)塊上增加1個奇偶位,當(dāng)數(shù)據(jù)塊中出現(xiàn)奇數(shù)個比特錯時能被檢測出來,因此能檢測到差錯的概率只有0.5,這很難被接受。改進(jìn)措施可以采取將每個數(shù)據(jù)塊組成一個n位寬和k位高的長方形的矩陣來發(fā)送。按列計算奇偶并將各列的奇偶校驗位放在一起,作為矩陣的最后一行,而發(fā)送時則按行進(jìn)行。數(shù)據(jù)塊到達(dá)時,收方檢測所有的奇偶位。假若其中任何之一錯了,就需要重傳整個塊。這樣做,對非單比特突發(fā)性錯(多比特連續(xù)錯)在橫行的發(fā)送中可能影響到數(shù)列的單個比特,而容易被相關(guān)列中的奇偶校驗位檢測出來。

這種方法能夠檢測長度為n的非單個突發(fā)性差錯,長度大于n的突發(fā)性連續(xù)差錯將不會被檢測到(注意:一個突發(fā)性非單比特錯并不是意味著所有的位都出錯了,但至少第1和最后1位出錯),因為每列中就可能出現(xiàn)偶數(shù)個比特錯,該列的奇偶校驗不能檢查出偶比特錯。假若一個塊被一個長的突發(fā)干擾或多個較短突發(fā)干擾所破壞,n列中每1列的奇偶值碰巧都正確的概率為0.5,那么,這個出錯塊被當(dāng)作正確數(shù)據(jù)接受的概率是2 -n。

欲進(jìn)一步了解差錯控制編碼原理的請進(jìn)入。

二、關(guān)于循環(huán)冗余校驗碼(CRC

盡管上述策略有時已經(jīng)足夠了,但在實踐中廣泛采用的是另一種方法,即多項式編碼,也叫循環(huán)冗余校驗碼(CRCCyclic Redundancy Check)。多項式碼將比特串看成系數(shù)只能取01的多項式,因此,一個k比特幀可以看成從x k-1x0k項多項式的系數(shù)序列。這個多項式的階數(shù)為k-1,高位(最左邊)是x k-1的系數(shù);下一位是x k-2的系數(shù),依次類推。例如,110001具有6位,其中25、2420的系數(shù)為1,相應(yīng)的多項式表示為x 5+ x 4+ x 0。

1、關(guān)于模2運(yùn)算:為了進(jìn)行后面的討論,先對多項式運(yùn)算作一簡要介紹。多項式以2為模運(yùn)算,加法不進(jìn)位,減法不借位。模2加法和減法實際上都是進(jìn)行邏輯“異或”運(yùn)算。例如下圖2-1-1

2-1-1:以2為模運(yùn)算法

多項式除法同二進(jìn)制運(yùn)算一樣,只要被除數(shù)具有和除數(shù)同樣多的位,即把除數(shù)按模2從被除數(shù)中減去(也即按模2進(jìn)行加法)。

如果采用多項式編碼法,發(fā)方和收方必須事先商定一個生成多項式G(x)Generator polynomial)。生成多項式的最高位(比特)和最低位必須是1。要計算m位的幀M(x)的校驗和(Checksum,也常稱為幀校驗序列(FCS,Frame Check Sequence)),生成多項式必須比該多項式M(x)短。其基本思想是:將校驗和加在幀的末尾,使這個帶校驗和的幀的多項式能被G(x)除盡。顯然,用G(x)M(x)所得余數(shù)作為校驗和(FCS)與M(x)一道組成的帶校驗和的幀一定能被G(x)整除。當(dāng)收方收到該幀時,用G(x)相除,如果有余數(shù),則表明傳輸有錯。計算校驗和的算法如下表2-1所示。

2-1:計算校驗和的算法過程

下圖2-1-2演算了幀1101011011G(x)x 4+x+1除而獲得余數(shù)的計算過程。在圖中,原始幀的比特串M(x)為:1101011011,相應(yīng)的多項式為:

2-1-2:模2除法過程

x 9+ x 8+ x 6+ x 4+ x 3+ x1 + x 0

生成多項式的比特串G(x)t10011,相應(yīng)的多項式為

x 4+ x 1+ x 0

加上40的幀為:11010110110000,相應(yīng)的多項式為:

x 13+ x 12+ x 10+ x 8+ x 7+ x 5+ x 4

用加0后的幀除以G(x),經(jīng)上圖中計算后獲得的余數(shù)為:1110,加上40的幀與余數(shù)相加,即得到用于線路上傳送的幀的比特串T(x) 11010110111110。在任何除法問題中,如果用被除數(shù)減去余數(shù),則剩下的部分能夠被除數(shù)除盡。由于T(x)是由被除數(shù)減去余數(shù)得來的,顯然能被被除數(shù)G(x)除盡(模2)。

2CRC的檢錯能力分析:現(xiàn)在讓我們來分析這種方法的檢錯能力,看看它能夠檢查出什么類型的誤碼。如果出現(xiàn)了1個突發(fā)性連續(xù)差錯(Burst Errors),記作少E(x),則收到的多項式會變成T(x)+E (x) 。突發(fā)性連續(xù)差錯的特點是初始位是“1”,然后是“0”和“1”的某種組合,最后一個比特為“1”。由于E(x)中的每個“1”都會使T(x)中的對應(yīng)比特變反,因此,如果E (x)中有k個“1”,即會產(chǎn)生k比特的差錯。

由于有E(x)的存在,接收方所收到的幀,將變?yōu)閹r灪偷亩囗検?span>T(x)E (x)之和。收方用生成多項式G(x)去除收到的幀,即計算[T(x)+E(x)]/ G(x)。由于T(x)/ G(x)余數(shù)總是0,所以運(yùn)算結(jié)果就變成E(x)/G(x)的余數(shù)。如果E(x)能被G(x)整除,余數(shù)為0。這可能有兩種情況:① E(x)=0;② E(x)G(x)的整數(shù)倍。因此,如果收方用余數(shù)為移判定傳輸無錯,只有情況②屬于判斷錯誤;情況①則代表確無差錯。

假定傳輸過程中只有單個比特錯,即E(x) = x i (iT(x)出錯比特項次),由于G(x)內(nèi)至少有兩項為1,因此,E(x)/G(x)不可能余數(shù)為0,于是所有的單比特差錯都能被查出。

如果發(fā)生兩個孤立的單比特差錯,即E(x) = x i +x j(其中i>j)。我們把E(x)改寫成:

E(x)x j (x i-j+1)

如果我們假定G(x)不能被x j整除,那么能夠發(fā)現(xiàn)兩個比特錯的充分條件是:對小于或等于i-j的最大值(即最大幀長)的任何k值,G(x)都不能除盡x k+1。已經(jīng)知道一些可用于長幀糾錯的簡單低階多項式。例如,對于小于32768(比特)的k值,x15+x14+1不可能整除差錯多項式E(x)x k+1。

如果有奇數(shù)個比特錯,E(x)將包括奇數(shù)個項(例如,x5+x2+1 )。由于奇數(shù)項多項式都不能被x+1按模2整除,因此,如果選用x+l的整數(shù)倍的多項式做G(x)就能查出所有奇數(shù)個比特變反的差錯。為了證明項數(shù)為奇數(shù)的多項式不能被x+l整除,我們先假定E(x)為奇數(shù)項多項式,且能被x+1整除。將E(x)進(jìn)行因式分解,變成(x+1)Q(x)。現(xiàn)在代人值E(1)=(1+1)Q(1)。因為1+1=0(模2),故E(1)=0。如果E(x)具有奇數(shù)個項,用1替換所有的x,按模2相加所產(chǎn)生的結(jié)果將總是1,與按上述假設(shè)計算的結(jié)果E(1)=0相矛盾。因此,奇數(shù)的多項式不能被x+l整除。

3、CRC的檢錯能力結(jié)論:通過上述分析得到最重要的結(jié)論是:r比特的校驗碼能檢查出所有長度≤r的突發(fā)性連續(xù)差錯。一個長度為k的突發(fā)性連續(xù)差錯可以表示成x ix k-1++1 ),這里項次i為突發(fā)性連續(xù)差錯的結(jié)束位置距接收到的幀最低階比特的距離(比特數(shù))。如果G(x)包括有x0項,它將不能被x i整除,因此如果圓括號內(nèi)的表達(dá)式的階低于G(x)的階,余數(shù)不可能為0。

如果突發(fā)性連續(xù)差錯長度為r+1,當(dāng)且僅當(dāng)突發(fā)性連續(xù)差錯E(x) G(x)一樣時,被G(x)除的余數(shù)才可能是0。根據(jù)突發(fā)性連續(xù)差錯的定義,第一位和最后一位必須是1,因此,它是否相等取決于r-1個中間比特的取值。如果所有01排列出現(xiàn)的概率均等,則將這個出錯幀當(dāng)作正確幀接收的概率是1/2 r-1。

可以證明:當(dāng)一個長度大于r+1的突發(fā)性連續(xù)差錯或幾個較短的突發(fā)性連續(xù)差錯發(fā)生后,假定被破壞后的幀內(nèi)所有比特值為“1”或“0”出現(xiàn)的模式是等概率的,則一個出錯幀未被檢查出來的概率是1/2 r

目前已有多個生成多項式[G(x)]被列為國際標(biāo)準(zhǔn)。其中CRC-12用作以6比特字符為基礎(chǔ)的幀校驗;其余生成多相式用于以8比特字符為基礎(chǔ)的幀校驗。使用如CRC-16CRC-CCITT作為生成多項式所產(chǎn)生的16位的校驗和。能查出所有的單比特錯和雙比特錯、所有的奇數(shù)比特錯、所有長度等于或小于16比特的突發(fā)性連續(xù)差錯,99.99%17比特突發(fā)性連續(xù)差錯以及99.998%18比特或18比特以上錯。

盡管校驗和計算看起來相當(dāng)?shù)膹?fù)雜,但和提出用一種簡單移位寄存器方法,用硬件來完成對校驗和的檢驗,因而在實踐中幾乎都采用這種硬件來實現(xiàn)。

欲進(jìn)一步了解循環(huán)冗余碼(CRC)多項式標(biāo)準(zhǔn)的請進(jìn)入。

聯(lián)合國兒童基金會助學(xué)
© 2004-2025 通信人在線 版權(quán)所有 備案號:粵ICP備06113876號 網(wǎng)站技術(shù):做網(wǎng)站