在等重碼(constant weight code)中,每個(gè)碼字中所含“1”的數(shù)目相同(碼字中“1”的個(gè)數(shù)又稱(chēng)碼重),因此碼字中“1”與“0”的個(gè)數(shù)之比是恒定的,所以又稱(chēng)為恒比碼,又稱(chēng)為定比碼,屬于常用的差錯(cuò)控制編碼方法,即是一種檢錯(cuò)碼。在檢測(cè)中,只要檢測(cè)接收到的碼組中“1”的數(shù)目是否對(duì)就可知道傳輸是否正確。其糾錯(cuò)能力比奇偶監(jiān)督碼強(qiáng)。恒比碼的主要優(yōu)點(diǎn)是簡(jiǎn)單,適于傳輸電傳機(jī)或其他鍵盤(pán)設(shè)備產(chǎn)生的字母和符號(hào)。對(duì)于信源傳出的二進(jìn)制隨機(jī)數(shù)字序列,這種碼就不適于傳輸。
一般情況下,從“n中取m”(m<n)恒比碼的碼組數(shù)為:Cmn=n!/(n-m)!m!。由此可以看出,恒比碼實(shí)際上是n個(gè)信息傳送log2 Cmn比特信息。
恒比碼屬于分組碼,對(duì)于分組碼來(lái)說(shuō),有效信息速度與傳輸編碼所需信息傳輸速度之比稱(chēng)為編碼效率,在一般情況下,恒比碼的編碼效率為
η=(log2 Cmn)/(log2 2n)=(log2 Cmn)/n
1、我國(guó)用于電傳機(jī)的“5中取3”恒比碼
在我國(guó)用電傳機(jī)傳輸漢字時(shí),只使用阿拉伯?dāng)?shù)字代表漢字。這時(shí)采用的所謂“保護(hù)電碼”就是“3﹕2”或稱(chēng)“5中取3”的恒比碼,即每個(gè)碼組的長(zhǎng)度為5,其中“1”的個(gè)數(shù)總是3,而“0”的個(gè)數(shù)總是2,如表1所示。
表1:我國(guó)用于電傳機(jī)的“5中取3”恒比碼
本來(lái)以5位碼元組成的碼組總共可以有25=32種,而恒比碼規(guī)定只有確切地含有3個(gè)“1”、2個(gè)“0”的那些碼組為準(zhǔn)用碼組,而有3個(gè)“1”、2個(gè)“0”的5位碼組共有多少呢?這是“5中取3”求組合的算法,組合數(shù)為C35=5!/(5-3)!3!=10。“3﹕2”即“5中取3”的恒比碼,用5位碼只傳10種信息。每個(gè)碼組的信息量為log2 10=3.3比特,有5-3.3=1.7比特作為代價(jià)付出。而“5中取3”恒比碼的編碼效率為
η==(log2 C35)/5=3.3/5=0.66
采用表1所示的“5中取3”恒比碼后,可以看到,如果差錯(cuò)碼為奇數(shù)個(gè),肯定不會(huì)錯(cuò)成其他字。在差錯(cuò)數(shù)為2時(shí),必須是一位“1”變“0”,另一位是“0”變“1”,才會(huì)錯(cuò)成另一個(gè)字。推廣來(lái)說(shuō),恒比碼不能發(fā)現(xiàn)的差錯(cuò)只有這樣一類(lèi):“1”錯(cuò)成“0”的數(shù)目正好等于“0”錯(cuò)成“1”的數(shù)目。實(shí)踐證明,采用“5中取3”的恒比碼后,電傳機(jī)的差錯(cuò)率減少了90%左右。
2、國(guó)際用于英文電報(bào)的“7中取3”恒比碼
在英文電報(bào)中,要傳送的字母數(shù)不是10個(gè)而是26個(gè),還要加上一些其他符號(hào),所以采用“7中取3”或叫“3﹕4”恒比碼,它總共有C37=7!/(3!4!)= 35個(gè)許用碼組,足以代表26個(gè)英文字母及其他符號(hào)。這種“7中取3”或叫“3﹕4”恒比碼,也稱(chēng)為國(guó)際無(wú)線電報(bào)碼,其英文字母及其他符號(hào)的編碼如表2所示。
表2:國(guó)際無(wú)線電報(bào)碼(“7中取3” 恒比碼)
欲進(jìn)一步了解信道編碼基本原理的請(qǐng)進(jìn)入。