2.5.1差錯(cuò)的產(chǎn)生原因及其控制
差錯(cuò)控制是指在數(shù)據(jù)通信過(guò)程中能發(fā)現(xiàn)或糾正差錯(cuò),把差錯(cuò)限制在盡可能小的允許范圍內(nèi)的技術(shù)和方法。
信號(hào)在物理信道中傳輸時(shí)線路時(shí),線路本身電氣特性造成的隨即噪聲、信號(hào)幅度的衰減、頻和相位的畸變、電氣信號(hào)在線路上產(chǎn)生反射造成的回音效應(yīng)、相鄰線路間的串?dāng)_以及各種外界因素(如大氣中的閃電、開(kāi)關(guān)的跳火、外界強(qiáng)電流磁場(chǎng)的變化、電源的波動(dòng)等)都會(huì)造成信號(hào)的失真。在數(shù)據(jù)通信中,將會(huì)使接收端收到的二進(jìn)制數(shù)位和發(fā)送端實(shí)際發(fā)送的二進(jìn)制數(shù)位不一致,從而造成由"0"變成"1"或由"1"變成"0"的差錯(cuò)。
一般來(lái)說(shuō),傳輸中的差錯(cuò)都是由噪聲引起的。噪聲有兩大類,一類是信道固有的、持續(xù)存在的隨機(jī)熱噪聲;另一類是由外界特定的短暫原因所造成的沖擊噪聲。
熱噪聲引起的差錯(cuò)稱為隨機(jī)錯(cuò),所引起的某位碼元的差錯(cuò)是孤立的,與前后碼元沒(méi)有關(guān)系。由于物理信道在設(shè)計(jì)時(shí),總要保證達(dá)到相當(dāng)大的信噪比,以盡可能減少熱噪聲的影響,因而由它導(dǎo)致的隨機(jī)錯(cuò)通常較少。
沖擊噪聲呈突發(fā)狀,由其引起的差錯(cuò)稱為突發(fā)錯(cuò)。沖擊噪聲幅度可能相當(dāng)大,無(wú)法靠提高信號(hào)幅度來(lái)避免沖擊噪聲造成的差錯(cuò),它是傳輸中產(chǎn)生差錯(cuò)的主要原因。沖擊噪聲雖然持續(xù)時(shí)間很短,但在一定的數(shù)據(jù)速率條件下,仍然會(huì)影響到一串碼元。例如,一個(gè)沖擊噪聲(如一次電火花)持續(xù)時(shí)間為10ms,但對(duì)于4800bps的數(shù)據(jù)速率來(lái)說(shuō),就可能對(duì)連續(xù)48位數(shù)據(jù)造成影響,使它們發(fā)生差錯(cuò)。從突發(fā)錯(cuò)誤發(fā)生的第一個(gè)碼元到有錯(cuò)的最后一個(gè)碼元間所有碼元的個(gè)數(shù),稱為該突發(fā)錯(cuò)的突發(fā)長(zhǎng)度。
數(shù)據(jù)通信中不加任何差錯(cuò)控制措施,直接用信道來(lái)傳輸數(shù)據(jù)是不可靠的。最常用的差錯(cuò)控制方法是差錯(cuò)控制編碼。數(shù)據(jù)信息位在向信道發(fā)送之前,先按照某種關(guān)系附加上一定的冗余位,構(gòu)成一個(gè)碼字后再發(fā)送,這個(gè)過(guò)程稱為差錯(cuò)控制編碼過(guò)程。接收端收到該碼字后,檢查信息位和附加的冗余位之間的關(guān)系,以檢查傳輸過(guò)程中是否有差錯(cuò)發(fā)生,這個(gè)過(guò)程稱為校驗(yàn)過(guò)程。
利用差錯(cuò)控制編碼來(lái)進(jìn)行差錯(cuò)控制的方法基本上有兩類,一類是自動(dòng)請(qǐng)求重發(fā)ARQ(Automatic Repeat reQuest),另一類是前向糾錯(cuò)FEC(FOIW盯d Eπor Correction)。在ARQ方式中,接收端檢測(cè)出有差錯(cuò)時(shí),就設(shè)法通知發(fā)送端重發(fā),直到正確的碼字收到為止。在FEC方式中,接收端不但能發(fā)現(xiàn)差錯(cuò),而且能確定二進(jìn)制碼元發(fā)生錯(cuò)誤的位置,從而加以糾正。因此,差錯(cuò)控制編碼又可分為檢錯(cuò)碼和糾錯(cuò)碼。檢錯(cuò)碼是指能自動(dòng)發(fā)現(xiàn)差錯(cuò)的編碼,糾錯(cuò)碼是指不僅能發(fā)現(xiàn)差錯(cuò)而且能自動(dòng)糾正差錯(cuò)的編碼。
ARQ方式只使用檢錯(cuò)碼,但必須有雙向信道才可能將差錯(cuò)信息反饋至發(fā)送端。同時(shí),發(fā)送方要設(shè)置數(shù)據(jù)緩沖區(qū),用以存放已發(fā)出去的數(shù)據(jù),以便知道出差錯(cuò)后可以調(diào)出數(shù)據(jù)緩沖區(qū)的內(nèi)容重新發(fā)送。FEC方式必須用糾錯(cuò)碼,但它可以不需要反向信道來(lái)傳遞請(qǐng)求重發(fā)的信息,發(fā)送端也不需要存放以備重發(fā)的數(shù)據(jù)緩沖區(qū)。雖然FEC有上述優(yōu)點(diǎn),但由于糾錯(cuò)碼一般說(shuō)來(lái)要比檢錯(cuò)碼使用更多的冗余位,也就是說(shuō)編碼效率低,而且糾錯(cuò)設(shè)備也比檢錯(cuò)設(shè)備復(fù)雜得多,因而除非在單向傳輸或?qū)崟r(shí)要求特別高(FEe由于不需要重發(fā),實(shí)時(shí)性較好)等場(chǎng)合外,數(shù)據(jù)通信中使用更多的還是ARQ差錯(cuò)控制方式。有些場(chǎng)合也可以將上述兩者混合使用,即當(dāng)碼字中的差錯(cuò)個(gè)數(shù)在糾正能力以內(nèi)時(shí),直接進(jìn)行糾正;當(dāng)碼字中的差錯(cuò)個(gè)數(shù)超出糾正能力時(shí),則檢出差錯(cuò),使用重發(fā)方式來(lái)糾正差錯(cuò)。
衡量編碼性能好壞的一個(gè)重要參數(shù)是編碼效率R,它是碼字中信息位所占的比例。若碼字中信息位為k位,編碼時(shí)外加冗余位為r位,則編碼后得到的碼字長(zhǎng)度為n=k+r位,由此編碼效率R可表示為:
R=k/n=k/(k+r)
顯然,編碼效率越高,即R越大,信道中用來(lái)傳送信息碼元的有效利用率就越高。
奇偶校驗(yàn)碼、循環(huán)冗余碼和海明碼是幾種最常用的差錯(cuò)控制編碼方法。
差錯(cuò)控制是指在數(shù)據(jù)通信過(guò)程中能發(fā)現(xiàn)或糾正差錯(cuò),把差錯(cuò)限制在盡可能小的允許范圍內(nèi)的技術(shù)和方法。
信號(hào)在物理信道中傳輸時(shí)線路時(shí),線路本身電氣特性造成的隨即噪聲、信號(hào)幅度的衰減、頻和相位的畸變、電氣信號(hào)在線路上產(chǎn)生反射造成的回音效應(yīng)、相鄰線路間的串?dāng)_以及各種外界因素(如大氣中的閃電、開(kāi)關(guān)的跳火、外界強(qiáng)電流磁場(chǎng)的變化、電源的波動(dòng)等)都會(huì)造成信號(hào)的失真。在數(shù)據(jù)通信中,將會(huì)使接收端收到的二進(jìn)制數(shù)位和發(fā)送端實(shí)際發(fā)送的二進(jìn)制數(shù)位不一致,從而造成由"0"變成"1"或由"1"變成"0"的差錯(cuò)。
一般來(lái)說(shuō),傳輸中的差錯(cuò)都是由噪聲引起的。噪聲有兩大類,一類是信道固有的、持續(xù)存在的隨機(jī)熱噪聲;另一類是由外界特定的短暫原因所造成的沖擊噪聲。
熱噪聲引起的差錯(cuò)稱為隨機(jī)錯(cuò),所引起的某位碼元的差錯(cuò)是孤立的,與前后碼元沒(méi)有關(guān)系。由于物理信道在設(shè)計(jì)時(shí),總要保證達(dá)到相當(dāng)大的信噪比,以盡可能減少熱噪聲的影響,因而由它導(dǎo)致的隨機(jī)錯(cuò)通常較少。
沖擊噪聲呈突發(fā)狀,由其引起的差錯(cuò)稱為突發(fā)錯(cuò)。沖擊噪聲幅度可能相當(dāng)大,無(wú)法靠提高信號(hào)幅度來(lái)避免沖擊噪聲造成的差錯(cuò),它是傳輸中產(chǎn)生差錯(cuò)的主要原因。沖擊噪聲雖然持續(xù)時(shí)間很短,但在一定的數(shù)據(jù)速率條件下,仍然會(huì)影響到一串碼元。例如,一個(gè)沖擊噪聲(如一次電火花)持續(xù)時(shí)間為10ms,但對(duì)于4800bps的數(shù)據(jù)速率來(lái)說(shuō),就可能對(duì)連續(xù)48位數(shù)據(jù)造成影響,使它們發(fā)生差錯(cuò)。從突發(fā)錯(cuò)誤發(fā)生的第一個(gè)碼元到有錯(cuò)的最后一個(gè)碼元間所有碼元的個(gè)數(shù),稱為該突發(fā)錯(cuò)的突發(fā)長(zhǎng)度。
數(shù)據(jù)通信中不加任何差錯(cuò)控制措施,直接用信道來(lái)傳輸數(shù)據(jù)是不可靠的。最常用的差錯(cuò)控制方法是差錯(cuò)控制編碼。數(shù)據(jù)信息位在向信道發(fā)送之前,先按照某種關(guān)系附加上一定的冗余位,構(gòu)成一個(gè)碼字后再發(fā)送,這個(gè)過(guò)程稱為差錯(cuò)控制編碼過(guò)程。接收端收到該碼字后,檢查信息位和附加的冗余位之間的關(guān)系,以檢查傳輸過(guò)程中是否有差錯(cuò)發(fā)生,這個(gè)過(guò)程稱為校驗(yàn)過(guò)程。
利用差錯(cuò)控制編碼來(lái)進(jìn)行差錯(cuò)控制的方法基本上有兩類,一類是自動(dòng)請(qǐng)求重發(fā)ARQ(Automatic Repeat reQuest),另一類是前向糾錯(cuò)FEC(FOIW盯d Eπor Correction)。在ARQ方式中,接收端檢測(cè)出有差錯(cuò)時(shí),就設(shè)法通知發(fā)送端重發(fā),直到正確的碼字收到為止。在FEC方式中,接收端不但能發(fā)現(xiàn)差錯(cuò),而且能確定二進(jìn)制碼元發(fā)生錯(cuò)誤的位置,從而加以糾正。因此,差錯(cuò)控制編碼又可分為檢錯(cuò)碼和糾錯(cuò)碼。檢錯(cuò)碼是指能自動(dòng)發(fā)現(xiàn)差錯(cuò)的編碼,糾錯(cuò)碼是指不僅能發(fā)現(xiàn)差錯(cuò)而且能自動(dòng)糾正差錯(cuò)的編碼。
ARQ方式只使用檢錯(cuò)碼,但必須有雙向信道才可能將差錯(cuò)信息反饋至發(fā)送端。同時(shí),發(fā)送方要設(shè)置數(shù)據(jù)緩沖區(qū),用以存放已發(fā)出去的數(shù)據(jù),以便知道出差錯(cuò)后可以調(diào)出數(shù)據(jù)緩沖區(qū)的內(nèi)容重新發(fā)送。FEC方式必須用糾錯(cuò)碼,但它可以不需要反向信道來(lái)傳遞請(qǐng)求重發(fā)的信息,發(fā)送端也不需要存放以備重發(fā)的數(shù)據(jù)緩沖區(qū)。雖然FEC有上述優(yōu)點(diǎn),但由于糾錯(cuò)碼一般說(shuō)來(lái)要比檢錯(cuò)碼使用更多的冗余位,也就是說(shuō)編碼效率低,而且糾錯(cuò)設(shè)備也比檢錯(cuò)設(shè)備復(fù)雜得多,因而除非在單向傳輸或?qū)崟r(shí)要求特別高(FEe由于不需要重發(fā),實(shí)時(shí)性較好)等場(chǎng)合外,數(shù)據(jù)通信中使用更多的還是ARQ差錯(cuò)控制方式。有些場(chǎng)合也可以將上述兩者混合使用,即當(dāng)碼字中的差錯(cuò)個(gè)數(shù)在糾正能力以內(nèi)時(shí),直接進(jìn)行糾正;當(dāng)碼字中的差錯(cuò)個(gè)數(shù)超出糾正能力時(shí),則檢出差錯(cuò),使用重發(fā)方式來(lái)糾正差錯(cuò)。
衡量編碼性能好壞的一個(gè)重要參數(shù)是編碼效率R,它是碼字中信息位所占的比例。若碼字中信息位為k位,編碼時(shí)外加冗余位為r位,則編碼后得到的碼字長(zhǎng)度為n=k+r位,由此編碼效率R可表示為:
R=k/n=k/(k+r)
顯然,編碼效率越高,即R越大,信道中用來(lái)傳送信息碼元的有效利用率就越高。
奇偶校驗(yàn)碼、循環(huán)冗余碼和海明碼是幾種最常用的差錯(cuò)控制編碼方法。