專利名稱:一種基于組合編碼的信息檢錯(cuò)和糾錯(cuò)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于組合編碼的信息檢錯(cuò)和糾錯(cuò)的方法,屬于通信領(lǐng)域。
背景技術(shù):
在通信系統(tǒng)中,信源碼在實(shí)際信道傳輸時(shí),由于要受到噪聲、衰減、干擾和畸變等 因素的影響會出現(xiàn)差錯(cuò),因此信源碼還需要經(jīng)信道編碼器再編碼,然后再經(jīng)信道傳輸至信 道譯碼器,檢出和糾正出現(xiàn)的差錯(cuò),從而提高信道傳輸?shù)目煽啃浴6脵z錯(cuò)和糾錯(cuò)的編 碼技術(shù),進(jìn)行差錯(cuò)控制的基本形式主要分四類前向糾錯(cuò)(FEC)、反饋重發(fā)(ARQ)、混合糾錯(cuò) (HEC)和信息反饋(IRQ)方式。數(shù)據(jù)通信中常用的糾檢錯(cuò)碼有奇偶校驗(yàn)碼、漢明碼及其改進(jìn)碼,通常只針對二進(jìn) 制數(shù)位進(jìn)行糾檢錯(cuò)。一維奇偶校驗(yàn)碼能發(fā)現(xiàn)所有的奇數(shù)位錯(cuò),但它不能用來糾正錯(cuò)誤;二維奇偶校驗(yàn) 碼可以糾正一位錯(cuò)。漢明碼是一種能糾一位錯(cuò)的線性分組碼,但對于兩位錯(cuò)不能檢測,還可 能會造成誤糾。盡管發(fā)生一位錯(cuò)的概率相對最高,但在一些要求較高的應(yīng)用中漢明碼不能 滿足要求。常用的能檢測兩位錯(cuò)同時(shí)能糾正一位錯(cuò)的糾錯(cuò)碼有擴(kuò)展?jié)h明碼和最佳奇權(quán)碼。目前檢錯(cuò)技術(shù)通常能檢測一位或兩位錯(cuò)誤,目前糾錯(cuò)技術(shù)一次通常只能糾正1 bit (比特)錯(cuò)誤,檢錯(cuò)和糾錯(cuò)技術(shù)還停留在很低的水平。
發(fā)明內(nèi)容
本發(fā)明目的是為了解決目前檢錯(cuò)技術(shù)通常能檢測一位或兩位錯(cuò)誤,目前糾錯(cuò)技術(shù) 一次通常只能糾正1比特錯(cuò)誤的問題,提供了一種基于組合編碼的信息檢錯(cuò)和糾錯(cuò)的方法。本發(fā)明一種基于組合編碼的信息檢錯(cuò)的方法,發(fā)送端待發(fā)送的數(shù)據(jù)按信息序列格 式進(jìn)行發(fā)送,每段信息序列的長度為n,信息序列中的每個(gè)元素的單位長度為k比特,該方 法包括以下步驟
步驟一、發(fā)送端按設(shè)定規(guī)則發(fā)送數(shù)據(jù),
設(shè)定規(guī)則為發(fā)送信息序列+所述發(fā)送信息序列的序數(shù),拼接后一起發(fā)送, 步驟二、接收端接收發(fā)送端的數(shù)據(jù),并參照發(fā)送數(shù)據(jù)時(shí)設(shè)定的規(guī)則解析出如下信息 接收信息序列+所述發(fā)送信息序列的序數(shù), 步驟三、計(jì)算步驟二所述接收信息序列的序數(shù),
步驟四、判斷步驟三獲取的接收信息序列的序數(shù)是否與所述發(fā)送信息序列的序數(shù)相
寸,
判斷結(jié)果為是,判定接收的數(shù)據(jù)沒有錯(cuò)誤,判斷結(jié)果為否,判定接收的數(shù)據(jù)有錯(cuò)誤,完 成檢錯(cuò)任務(wù)。本發(fā)明一種基于組合編碼的信息糾錯(cuò)的方法,發(fā)送端待發(fā)送的數(shù)據(jù)按信息序列格 式進(jìn)行發(fā)送,每段信息序列的長度為n,信息序列中的每個(gè)元素的單位長度為k比特,該方法包括以下步驟
步驟一、發(fā)送端按設(shè)定規(guī)則發(fā)送數(shù)據(jù),
設(shè)定規(guī)則為發(fā)送信息序列+所述發(fā)送信息序列的序數(shù),拼接后一起發(fā)送, 步驟二、接收端接收發(fā)送端的數(shù)據(jù),并參照發(fā)送數(shù)據(jù)時(shí)設(shè)定的規(guī)則解析出如下信息 接收信息序列+所述發(fā)送信息序列的序數(shù), 步驟三、計(jì)算步驟二所述接收信息序列的序數(shù),
步驟四、判斷步驟三獲取的接收信息序列的序數(shù)是否與所述發(fā)送信息序列的序數(shù)相
寸,
判斷結(jié)果為是,判定接收的數(shù)據(jù)沒有錯(cuò)誤,返回執(zhí)行步驟二,繼續(xù)接收新的數(shù)據(jù)信息, 判斷結(jié)果為否,判定接收的數(shù)據(jù)有錯(cuò)誤,執(zhí)行步驟五,
步驟五、假設(shè)接收信息序列的第j個(gè)元素是錯(cuò)誤的,初始化j=l, 步驟六、令接收信息序列的第j個(gè)元素為基準(zhǔn)序列中非本身的其它元素,形成一個(gè)或 多個(gè)新的序列,
步驟七、分別計(jì)算步驟六獲取的一個(gè)或多個(gè)新的序列的序數(shù),
步驟八、逐一判斷步驟七獲取的一個(gè)或多個(gè)新的序列的序數(shù)是否與所述發(fā)送信息序列 的序數(shù)相等,
記錄與所述發(fā)送信息序列的序數(shù)相等的序列,然后執(zhí)行步驟九,如果一個(gè)或多個(gè)新的 序列與所述發(fā)送信息序列都不相等,令j=j+l,返回執(zhí)行步驟六,
步驟九、判斷 下述公 式是否 成立
判斷結(jié)果為否,令j=j+l,返回執(zhí)行步驟六,判斷結(jié)果為是,執(zhí)行步驟十, 步驟十、將記錄的序列作為糾錯(cuò)后的序列,完成對接收到的序列的糾錯(cuò)。本發(fā)明的優(yōu)點(diǎn)目前糾錯(cuò)技術(shù)一次通常只能糾正1 bit錯(cuò)誤,而采用本發(fā)明方法 一次可以檢測多個(gè)單元錯(cuò)誤,至少可以糾正一個(gè)單元中的錯(cuò)誤,單元大小可以是1 bit,2 bit, 3 bit......。
圖1是本發(fā)明一種基于組合編碼的信息檢錯(cuò)方法流程圖,圖2是本發(fā)明一種基于 組合編碼的信息糾錯(cuò)的方法流程圖。
具體實(shí)施例方式具體實(shí)施方式
一下面結(jié)合圖1說明本實(shí)施方式,本實(shí)施方式一種基于組合編碼 的信息檢錯(cuò)的方法,發(fā)送端待發(fā)送的數(shù)據(jù)按信息序列格式進(jìn)行發(fā)送,每段信息序列的長度 為n,信息序列中的每個(gè)元素的單位長度為k比特,該方法包括以下步驟
步驟一、發(fā)送端按設(shè)定規(guī)則發(fā)送數(shù)據(jù),
設(shè)定規(guī)則為發(fā)送信息序列+所述發(fā)送信息序列的序數(shù),拼接后一起發(fā)送, 步驟二、接收端接收發(fā)送端的數(shù)據(jù),并參照發(fā)送數(shù)據(jù)時(shí)設(shè)定的規(guī)則解析出如下信息 接收信息序列+所述發(fā)送信息序列的序數(shù), 步驟三、計(jì)算步驟二所述接收信息序列的序數(shù),步驟四、判斷步驟三獲取的接收信息序列的序數(shù)是否與所述發(fā)送信息序列的序數(shù)相
等,
判斷結(jié)果為是,判定接收的數(shù)據(jù)沒有錯(cuò)誤,判斷結(jié)果為否,判定接收的數(shù)據(jù)有錯(cuò)誤,完 成檢錯(cuò)任務(wù)。當(dāng)檢出數(shù)據(jù)錯(cuò)誤時(shí),接收端可以要求發(fā)送端重新發(fā)送數(shù)據(jù),也可以進(jìn)行糾錯(cuò)處理。步驟一中所述發(fā)送信息序列的序數(shù)和步驟三所述接收信息序列的序數(shù)的獲取過 程相同,以下將發(fā)送信息序列和接收信息序列統(tǒng)稱為信息序列,信息序列的序數(shù)的獲取過 程為
對信息序列的數(shù)據(jù)進(jìn)行全排列,形成字典空間,并按如下公式求取所述信息序列在其 字典空間中的序數(shù)N
其中,J·表示當(dāng)前被處理元素在信息序列中的位置,i表示當(dāng)前被處理元素在基準(zhǔn)序列 中的位置,Wx為基準(zhǔn)序列中χ位置的元素在信息序列中未經(jīng)處理的數(shù)目,^表示基準(zhǔn)序列
中除了 χ以外的元素的位置,T^f是各個(gè)元素?cái)?shù)目減去前面J·個(gè)字符中已經(jīng)出現(xiàn)過的相應(yīng) 元素的數(shù)目,ii表示信息序列中基準(zhǔn)序列元素?cái)?shù)目不為零的元素總數(shù), N≥O?;鶞?zhǔn)序列的獲取規(guī)則基準(zhǔn)序列的元素?cái)?shù)目為夢,按照信息序列中不同元素出
現(xiàn)的先后順序來確定基準(zhǔn)序列中元素的順序,如果信息序列中的不同元素的數(shù)目小于
,參照ο ;^fc范圍,將信息序列中缺失的元素按從小到大或從大到小順序置于基準(zhǔn)序列已 排好順序元素的后面。序數(shù)長度可以由全局最大序數(shù)P的長度來確定,當(dāng)信息序列中不同元素個(gè)數(shù)分布 最均勻時(shí)得到全局最大序數(shù),又因?yàn)榛鶞?zhǔn)序列是由信息序列不同元素出現(xiàn)順序確定的,這 意味著計(jì)算序數(shù)時(shí)第一個(gè)元素不予考慮,因此序數(shù)大小與n-1密切相關(guān)。此時(shí),不同元素個(gè)
數(shù)相差不超過I’為丨明W[明·全局最大序數(shù)P由下列式子計(jì)算
最大序數(shù)P從0開始計(jì)數(shù),上式簡約后形成公式 P所占空間位數(shù)決定了最終所求信息序列對應(yīng)序數(shù)應(yīng)該占用的位數(shù)。全局最大序 數(shù)P占用幾位,序數(shù)ΛΓ就占用幾位,不足的用0補(bǔ)齊。
nl字典空間含有---- 個(gè)不同的排列,n 、 、 Π 為
信息序列中含有對應(yīng)的基準(zhǔn)序列中各元素的數(shù)目。
具體實(shí)施方式
二 下面結(jié)合圖2說明本實(shí)施方式,本實(shí)施方式一種基于組合編碼 的信息糾錯(cuò)的方法,發(fā)送端待發(fā)送的數(shù)據(jù)按信息序列格式進(jìn)行發(fā)送,每段信息序列的長度 為n,信息序列中的每個(gè)元素的單位長度為k比特,在目前可計(jì)算前提下,每次可以糾正一 個(gè)單元(單元長度為k位)的錯(cuò)誤。組合糾錯(cuò)過程是采用窮舉方式逐步試探的過程。假設(shè)j 為當(dāng)前要處理的元素。該方法包括以下步驟 步驟一、發(fā)送端按設(shè)定規(guī)則發(fā)送數(shù)據(jù),
設(shè)定規(guī)則為發(fā)送信息序列+所述發(fā)送信息序列的序數(shù),拼接后一起發(fā)送, 步驟二、接收端接收發(fā)送端的數(shù)據(jù),并參照發(fā)送數(shù)據(jù)時(shí)設(shè)定的規(guī)則解析出如下信息 接收信息序列+所述發(fā)送信息序列的序數(shù), 步驟三、計(jì)算步驟二所述接收信息序列的序數(shù),
步驟四、判斷步驟三獲取的接收信息序列的序數(shù)是否與所述發(fā)送信息序列的序數(shù)相
寸,
判斷結(jié)果為是,判定接收的數(shù)據(jù)沒有錯(cuò)誤,返回執(zhí)行步驟二,繼續(xù)接收新的數(shù)據(jù)信息, 判斷結(jié)果為否,判定接收的數(shù)據(jù)有錯(cuò)誤,執(zhí)行步驟五,
步驟五、假設(shè)接收信息序列的第j個(gè)元素是錯(cuò)誤的,初始化j=l, 步驟六、令接收信息序列的第j個(gè)元素為基準(zhǔn)序列中非本身的其它元素,形成一個(gè)或 多個(gè)新的序列,
步驟七、分別計(jì)算步驟六獲取的一個(gè)或多個(gè)新的序列的序數(shù),
步驟八、逐一判斷步驟七獲取的一個(gè)或多個(gè)新的序列的序數(shù)是否與所述發(fā)送信息序列 的序數(shù)相等,
記錄與所述發(fā)送信息序列的序數(shù)相等的序列,然后執(zhí)行步驟九,如果一個(gè)或多個(gè)新的 序列與所述發(fā)送信息序列都不相等,令j=j+l,返回執(zhí)行步驟六, 步驟九、判斷下述公式是否成立,
判斷結(jié)果為否,令j=j+l,返回執(zhí)行步驟六,判斷結(jié)果為是,執(zhí)行步驟十, 步驟十、將記錄的序列作為糾錯(cuò)后的序列,完成對接收到的序列的糾錯(cuò)?;蛴涗浗Y(jié)果中有兩個(gè)或兩個(gè)以下的序列,即發(fā)生碰撞,則需要人為干預(yù)進(jìn)行取舍, 把其中認(rèn)為最正確的序列作為糾錯(cuò)后的序列,完成對接收到的序列的糾錯(cuò)。當(dāng)接收到的序其中,J·表示當(dāng)前被處理元素在信息序列中的位置,i表示當(dāng)前被處理元素在基準(zhǔn)序列 中的位置,W^為基準(zhǔn)序列中χ位置的元素在信息序列中未經(jīng)處理的數(shù)目^表示基準(zhǔn)序列
X
中除了 X以外的元素的位置,'Wg是各個(gè)元素?cái)?shù)目減去前面J個(gè)字符中已經(jīng)出現(xiàn)過的相應(yīng) 元素的數(shù)目,ii表示信息序列中基準(zhǔn)序列元素?cái)?shù)目不為零的元素總數(shù),漢>0。基準(zhǔn)序列的獲取規(guī)則基準(zhǔn)序列的元素?cái)?shù)目為,按照信息序列中不同元素出
現(xiàn)的先后順序來確定基準(zhǔn)序列中元素的順序,如果信息序列中的不同元素的數(shù)目小于
,參照ο 范圍,將信息序列中缺失的元素按從小到大或從大到小順序置于基準(zhǔn)序列已 排好順序元素的后面。信息序列的序數(shù)N的長度由全局最大序數(shù)P的長度來確定,全局最大序數(shù)P的獲 取過程為
步驟a、將長度為η的信息序列的第一個(gè)元素刪除后,形成長度為η-1的序列, 步驟b、將所述長度為η-1的序列的不同元素的個(gè)數(shù)均勻化,不同元素的個(gè)數(shù)%按
計(jì)算,且滿足條件Ε = —1,使不同元素個(gè)數(shù) 相差不超過 1,
步驟C、按照如下公式獲取全局最大序數(shù)P 列信息發(fā)生錯(cuò)誤時(shí),由于發(fā)送信息序列與接收信息序列所包含各元素頻率發(fā)生變化,因此
它們已經(jīng)不再對應(yīng)同一個(gè)有序的字典空間。此時(shí),雖然發(fā)送信息序列與接收信息序列不同,
但是兩序列對應(yīng)的序數(shù)卻相同,導(dǎo)致糾錯(cuò)失敗。但是組合檢錯(cuò)碼發(fā)生碰撞的概率是很低的。 k越大,每次糾錯(cuò)時(shí)可以糾錯(cuò)的位數(shù)越多,η越大,越不易發(fā)生碰撞。 步驟一中所述發(fā)送信息序列的序數(shù)和步驟三所述接收信息序列的序數(shù)的獲取過
程相同,以下將發(fā)送信息序列和接收信息序列統(tǒng)稱為信息序列,信息序列的序數(shù)的獲取過
程為
對信息序列的數(shù)據(jù)進(jìn)行全排列,形成字典空間,并按如下公式求取所述信息序列在其 字典空間中的序數(shù)# 序數(shù)長度可以由全局最大序數(shù)P的長度來確定,當(dāng)信息序列中不同元素個(gè)數(shù)分布 最均勻時(shí)得到全局最大序數(shù),又因?yàn)榛鶞?zhǔn)序列是由信息序列不同元素出現(xiàn)順序確定的,這 意味著計(jì)算序數(shù)時(shí)第一個(gè)元素不予考慮,因此序數(shù)大小與n-1密切相關(guān)。此時(shí),不同元素個(gè)
數(shù).相差不超過1,為成全局最大序數(shù)P由下列式子計(jì)算
最大序數(shù)P從0開始計(jì)數(shù),上式簡約后形成公式 字典空間含有·-^個(gè)不同的排列,rt 、 、 n 為
HlIli2I 2^—^ r*2fc
信息序列中含有對應(yīng)的基準(zhǔn)序列中各元素的數(shù)目。本實(shí)施方式給出窮舉方式逐步試探糾錯(cuò)的程序語句如下 1. j=l。2.循環(huán)執(zhí)行下列語句,直到j(luò)>n,
假設(shè)信息序列的第j個(gè)單元是錯(cuò)誤的,然后再假設(shè)該單元是基準(zhǔn)序列中其它類別 的元素1,8卩1^2\;^_/,反復(fù)執(zhí)行下列語句 (1)i=l ;
(2)循環(huán)執(zhí)行下列語句,直到
1)假設(shè)第j個(gè)位置元素是元素i,計(jì)算此時(shí)該序列對應(yīng)序數(shù)ordinal」。2 )若ordinal」與ordinalj相同,表示當(dāng)前假設(shè)單元正確,序列可以 得到糾正。記錄i與j。3) i=i+l
4)如果i等于j,則i++
3. j=j+l
上述算法不排除多解,由于不同序列對應(yīng)的各基準(zhǔn)序列元素個(gè)數(shù)發(fā)生變化,因此會發(fā) 生碰撞,此時(shí)可以根據(jù)實(shí)際情況取舍,或者重傳。理論上說,在一些特殊應(yīng)用中,如不可重傳情況下,若時(shí)間或計(jì)算能力允許,組合 糾錯(cuò)也可以進(jìn)行多個(gè)單元的糾錯(cuò),當(dāng)然此時(shí)窮舉計(jì)算量也會迅速增加,同時(shí)也需要根據(jù)實(shí)際情況對少數(shù)碰撞情況進(jìn)行特殊處理。下面給出一個(gè)具體的實(shí)施例
發(fā)送信息序列中每個(gè)元素的單位長度k=2bit,信息序列的長度n=20bit。假設(shè)要發(fā)送的信息序列為11000111000110000100 (根據(jù)k長度可以用 四進(jìn)制表示為301^12010),但是在傳輸終端收到的信息——接收信息序列卻是 11000110000110000100 (3012012010)。對于發(fā)送信息序列3013012010,首先確定其序數(shù)計(jì)算的考察順序——基準(zhǔn)序列, 按照不同元素出現(xiàn)順序可以確定為3012,而各元素對應(yīng)數(shù)目分別為2,4,3,1,由此計(jì)算該 序列對應(yīng)序數(shù)如下
(1)第一個(gè)元素為3,在基準(zhǔn)序列中前面沒有其它元素,不作處理。(2 )第二個(gè)元素為0,在基準(zhǔn)序列中前面有3。1)若第二個(gè)元素為 3 C^= 8!/ (4!*3 !* 1 !) =280 (3 )第三個(gè)元素為1,在基準(zhǔn)序列中前面有3,0。1)若第三個(gè)元素為 3= 7!/(3!*3!*1!) =140。2)若第三個(gè)元素為0:0*巧*口*碑=7!/(1.!*2!*3!*1.!) =420。(4)第四個(gè)元素為3,在基準(zhǔn)序列中前面沒有其它元素,不作處理。(5)第五個(gè)元素為0,由于發(fā)送信息序列剩余元素中已經(jīng)沒有3,因此在基準(zhǔn)序列 中可以去掉元素3,這意味著元素0前面沒有其它元素,不作處理。(6)第六個(gè)元素為1,在基準(zhǔn)序列中前面有0。1)若第六個(gè)元素為0=12。(7)第七個(gè)元素為2,在基準(zhǔn)序列中前面有0,1。1)若第七個(gè)元素為0=6。2)若第七個(gè)元素為1 g3tCf =>, (8)第八個(gè)元素為0,基準(zhǔn)序列中前面沒有其它元素,不作處理。(9)第九個(gè)元素為1,在基準(zhǔn)序列中前面有0。1)若第九個(gè)元素為0:《=1。( 10)最后元素不作處理。將上述各式子的值累加得到發(fā)送信息序列對應(yīng)的序數(shù):#=862,十六進(jìn)制表示為 35E。對于長度為η的序列,當(dāng)其中不同元素?cái)?shù)目相差不超過1時(shí),會得到全局的最大序 數(shù),全局的最大序數(shù)所占空間是所有長度為η的序列所對應(yīng)序數(shù)中占用空間最大的。但是 由于每次計(jì)算序數(shù)時(shí),基準(zhǔn)序列是以序列中出現(xiàn)元素順序來確定,因此第一個(gè)元素不再計(jì) 算范圍內(nèi),當(dāng)此被去掉元素恰為數(shù)目最大元素時(shí),所得全局序數(shù)空間最大。對于本例η=ιο, 不同元素?cái)?shù)目為4,因此各元素分布為3,3,2,2時(shí)最均勻,所占空間最大。去掉一個(gè)最大數(shù)
目使得不同元素最均勻分布變?yōu)?,3,2,2,這樣序數(shù)最大為-Cf =7560,十六進(jìn)
制為1D88,占用最大空間為14位,因此發(fā)送信息序列對應(yīng)序數(shù)862 (35Ε)可以表示為14位二進(jìn)制數(shù):00001101011110ο傳輸時(shí)將發(fā)送信息序列11000111000110000100 (3013012010)與其對應(yīng) 序數(shù)00001101011110 (862) 一同發(fā)送,如果在傳輸終端收到的接收信息序列為 11000110000110000100 (301^)12010)以及序數(shù) 00001101011110 (862),那么可以通過類似 過程計(jì)算出110001邊000110000100(301沙12010)對應(yīng)序數(shù)為382,十六進(jìn)制表示為17Ε,與
發(fā)送端傳來的檢錯(cuò)信息(序數(shù)862)對比,發(fā)現(xiàn)數(shù)值不相等,表明傳輸過程中存在差錯(cuò)。需 要進(jìn)行糾錯(cuò)。一個(gè)單元信息的糾錯(cuò)過程
假設(shè)發(fā)送信息序列在傳輸過程中只有一個(gè)單元(即元素,本例中一個(gè)單元占用2bit)出 錯(cuò),組合糾錯(cuò)技術(shù)采用窮舉方式對所收序列Iioooimoooiiooooioo (3012012010)逐步試 探,具體過程如下
(1)若第一個(gè)元素不是3
1)若第一個(gè)元素是0,則發(fā)送信息序列為0012012010,其基準(zhǔn)序列按照不同元素 出現(xiàn)順序可以定為0123,對應(yīng)數(shù)目分別為5,3,2,0。根據(jù)類似第2步計(jì)算序數(shù)的過程,可以 計(jì)算出該序列對應(yīng)序數(shù)為382,由于382與收到的序數(shù)862不相等,因此該假設(shè)不成立,也就 是說第一個(gè)元素不是0。2)同理假設(shè)第一個(gè)元素是1,則發(fā)送信息序列為1012012010,其基準(zhǔn)序列按 照不同元素出現(xiàn)順序可以定為1023,對應(yīng)數(shù)目分別為4,4,2,0。根據(jù)類似第2步計(jì)算序數(shù) 的過程,可以計(jì)算出該序列對應(yīng)序數(shù)為600,由于600與收到的序數(shù)862不相等,因此該假設(shè) 不成立,也就是說第一個(gè)元素不是1。3)同理假設(shè)第一個(gè)元素是2,則發(fā)送信息序列為2012012010,其基準(zhǔn)序列按 照不同元素出現(xiàn)順序可以定為2013,對應(yīng)數(shù)目分別為3,4,3,0。根據(jù)類似第2步計(jì)算序數(shù) 的過程,可以計(jì)算出該序列對應(yīng)序數(shù)為647,由于647與收到的序數(shù)862不相等,因此該假設(shè) 不成立,也就是說第一個(gè)元素不是2。所以第(1)步假設(shè)不成立,也就是說,發(fā)送信息序列第一個(gè)元素是3。(2)若第二個(gè)元素不是0
類似(1)中分析過程,分別假設(shè)第二個(gè)元素是1,2,3。得出矛盾。所以第(2)步假 設(shè)不成立,即發(fā)送信息序列第二個(gè)元素是0。......
后續(xù)步驟以此類推,直到某步驟中通過枚舉過程發(fā)現(xiàn)某序數(shù)與所收到序數(shù)862相 等時(shí),表示該元素為糾錯(cuò)元素。本例中當(dāng)計(jì)算到假設(shè)第四元素不是2時(shí),發(fā)現(xiàn)當(dāng)該元 素為3時(shí)所得到序數(shù)恰為862,表明該元素為3。從而恢復(fù)原來序列為3013012010 (11000111000110000100)。當(dāng)然不排除特殊情況下發(fā)生碰撞,從而得到多解,此時(shí)可以根據(jù)實(shí)際情況取舍,或 者重傳。甚至在少數(shù)情況下在檢錯(cuò)時(shí)就發(fā)生碰撞,導(dǎo)致檢錯(cuò)失敗。例如假設(shè)發(fā)送端要傳輸 發(fā)送信息序列為3丄12012010,則基準(zhǔn)序列為3120,對應(yīng)序數(shù)為94,而接收端所收到序列錯(cuò) 為3幻2012010,則基準(zhǔn)序列為3210,該序列的序數(shù)恰好也是94,這將使系統(tǒng)認(rèn)為傳輸正確, 從而導(dǎo)致檢錯(cuò)失敗。但是該情況相比其它檢錯(cuò)方法發(fā)生概率是很低的。理論上說,在一些特殊應(yīng)用中,如不可重傳情況下,若時(shí)間或計(jì)算能力允許,組合糾錯(cuò)也可以進(jìn)行多個(gè)單元的糾錯(cuò),當(dāng)然此時(shí)窮舉計(jì)算量也會迅速增加,同時(shí)也需要根據(jù)實(shí) 際情況對少數(shù)碰撞情況進(jìn)行特殊處理。
權(quán)利要求
一種基于組合編碼的信息檢錯(cuò)的方法,其特征在于,發(fā)送端待發(fā)送的數(shù)據(jù)按信息序列格式進(jìn)行發(fā)送,每段信息序列的長度為n,信息序列中的每個(gè)元素的單位長度為k比特,該方法包括以下步驟步驟一、發(fā)送端按設(shè)定規(guī)則發(fā)送數(shù)據(jù),設(shè)定規(guī)則為發(fā)送信息序列+所述發(fā)送信息序列的序數(shù),拼接后一起發(fā)送,步驟二、接收端接收發(fā)送端的數(shù)據(jù),并參照發(fā)送數(shù)據(jù)時(shí)設(shè)定的規(guī)則解析出如下信息接收信息序列+所述發(fā)送信息序列的序數(shù),步驟三、計(jì)算步驟二所述接收信息序列的序數(shù),步驟四、判斷步驟三獲取的接收信息序列的序數(shù)是否與所述發(fā)送信息序列的序數(shù)相等,判斷結(jié)果為是,判定接收的數(shù)據(jù)沒有錯(cuò)誤,判斷結(jié)果為否,判定接收的數(shù)據(jù)有錯(cuò)誤,完成檢錯(cuò)任務(wù)。
2.根據(jù)權(quán)利要求1所述的一種基于組合編碼的信息檢錯(cuò)的方法,其特征在于,步驟一 中所述發(fā)送信息序列的序數(shù)和步驟三所述接收信息序列的序數(shù)的獲取過程相同,以下將發(fā) 送信息序列和接收信息序列統(tǒng)稱為信息序列,信息序列的序數(shù)的獲取過程為對信息序列的數(shù)據(jù)進(jìn)行全排列,形成字典空間,并按如下公式求取所述信息序列在其 字典空間中的序數(shù)# 其中,J·表示當(dāng)前被處理元素在信息序列中的位置,i表示當(dāng)前被處理元素在基準(zhǔn)序列 中的位置,Wx為基準(zhǔn)序列中χ位置的元素在信息序列中未經(jīng)處理的數(shù)目,^表示基準(zhǔn)序列中除了 χ以外的元素的位置,1 是各個(gè)元素?cái)?shù)目減去前面J·個(gè)字符中已經(jīng)出現(xiàn)過的相應(yīng)元素的數(shù)目,ii表示信息序列中基準(zhǔn)序列元素?cái)?shù)目不為零的元素總數(shù),漢>0。
3.根據(jù)權(quán)利要求2所述的一種基于組合編碼的信息檢錯(cuò)的方法,其特征在于,基準(zhǔn)序 列的獲取規(guī)則基準(zhǔn)序列的元素?cái)?shù)目為,按照信息序列中不同元素出現(xiàn)的先后順序來確定基準(zhǔn)序列中元素的順序,如果信息序列中的不同元素的數(shù)目小于,參照ο 范圍,將信息序列中缺失的元素按從小到大或從大到小順序置于基準(zhǔn)序列已排好順序元素的 后面。
4.根據(jù)權(quán)利要求1或2所述的一種基于組合編碼的信息檢錯(cuò)的方法,其特征在于,發(fā)送 信息序列的序數(shù)的長度和接收信息序列的序數(shù)的長度相同,以下將發(fā)送信息序列和接收信 息序列統(tǒng)稱為信息序列,信息序列的序數(shù)N的長度由全局最大序數(shù)P的長度來確定,全局最 大序數(shù)P的獲取過程為步驟a、將長度為η的信息序列的第一個(gè)元素刪除后,形成長度為η-1的序列, 步驟b、將所述長度為η-1的序列的不同元素的個(gè)數(shù)均勻化,不同元素的個(gè)數(shù)Λ按 計(jì)算,且滿足條件 —ι,使不同元素個(gè)數(shù)M相差不超過 步驟C、按照如下公式獲取全局最大序數(shù)P
5.根據(jù)權(quán)利要求2所述的一種基于組合編碼的信息檢錯(cuò)的方法,其特征在于,字典空間含有、^·-.個(gè)個(gè)M的排列,η 、 η 、 、 η 為信息序列中含有H1 !H2 !…《^!rii、 《2、—·、 ri2k對應(yīng)的基準(zhǔn)序列中各元素的數(shù)目。
6.一種基于組合編碼的信息糾錯(cuò)的方法,其特征在于,發(fā)送端待發(fā)送的數(shù)據(jù)按信息序列格式進(jìn)行發(fā)送,每段信息序列的長度為n,信息序列中 的每個(gè)元素的單位長度為k比特,該方法包括以下步驟 步驟一、發(fā)送端按設(shè)定規(guī)則發(fā)送數(shù)據(jù),設(shè)定規(guī)則為發(fā)送信息序列+所述發(fā)送信息序列的序數(shù),拼接后一起發(fā)送, 步驟二、接收端接收發(fā)送端的數(shù)據(jù),并參照發(fā)送數(shù)據(jù)時(shí)設(shè)定的規(guī)則解析出如下信息 接收信息序列+所述發(fā)送信息序列的序數(shù), 步驟三、計(jì)算步驟二所述接收信息序列的序數(shù),步驟四、判斷步驟三獲取的接收信息序列的序數(shù)是否與所述發(fā)送信息序列的序數(shù)相寸,判斷結(jié)果為是,判定接收的數(shù)據(jù)沒有錯(cuò)誤,返回執(zhí)行步驟二,繼續(xù)接收新的數(shù)據(jù)信息, 判斷結(jié)果為否,判定接收的數(shù)據(jù)有錯(cuò)誤,執(zhí)行步驟五,步驟五、假設(shè)接收信息序列的第j個(gè)元素是錯(cuò)誤的,初始化j=l, 步驟六、令接收信息序列的第j個(gè)元素為基準(zhǔn)序列中非本身的其它元素,形成一個(gè)或 多個(gè)新的序列,步驟七、分別計(jì)算步驟六獲取的一個(gè)或多個(gè)新的序列的序數(shù),步驟八、逐一判斷步驟七獲取的一個(gè)或多個(gè)新的序列的序數(shù)是否與所述發(fā)送信息序列 的序數(shù)相等,記錄與所述發(fā)送信息序列的序數(shù)相等的序列,然后執(zhí)行步驟九,如果一個(gè)或多個(gè)新的 序列與所述發(fā)送信息序列都不相等,令j=j+l,返回執(zhí)行步驟六, 步驟九、判斷下述公式是否成立da ,判斷結(jié)果為否,令j=j+l,返回執(zhí)行步驟六,判斷結(jié)果為是,執(zhí)行步驟十, 步驟十、將記錄的序列作為糾錯(cuò)后的序列,完成對接收到的序列的糾錯(cuò)。
7.根據(jù)權(quán)利要求6所述的一種基于組合編碼的信息糾錯(cuò)的方法,其特征在于,步驟一 中所述發(fā)送信息序列的序數(shù)和步驟三所述接收信息序列的序數(shù)的獲取過程相同,以下將發(fā) 送信息序列和接收信息序列統(tǒng)稱為信息序列,信息序列的序數(shù)獲取過程為對信息序列的數(shù)據(jù)進(jìn)行全排列,形成字典空間,并按如下公式求取所述信息序列在其 字典空間中的序數(shù)# 其中,J·表示當(dāng)前被處理元素在信息序列中的位置,i表示當(dāng)前被處理元素在基準(zhǔn)序列 中的位置,Wx為基準(zhǔn)序列中χ位置的元素在信息序列中未經(jīng)處理的數(shù)目,^表示基準(zhǔn)序列中除了 χ以外的元素的位置,是各個(gè)元素?cái)?shù)目減去前面J個(gè)字符中已經(jīng)出現(xiàn)過的相應(yīng)元素的數(shù)目,ii表示信息序列中基準(zhǔn)序列元素?cái)?shù)目不為零的元素總數(shù),及k O。
8.根據(jù)權(quán)利要求7所述的一種基于組合編碼的信息糾錯(cuò)的方法,其特征在于,基準(zhǔn)序 列的獲取規(guī)則基準(zhǔn)序列的元素?cái)?shù)目為,按照信息序列中不同元素出現(xiàn)的先后順序來確定基準(zhǔn)序列中元素的順序,如果信息序列中的不同元素的數(shù)目小于,參照0 范圍,將信息序列中缺失的元素按從小到大或從大到小順序置于基準(zhǔn)序列已排好順序元素的 后面。
9.根據(jù)權(quán)利要求6或7所述的一種基于組合編碼的信息糾錯(cuò)的方法,其特征在于,發(fā)送 信息序列的序數(shù)的長度和接收信息序列的序數(shù)的長度相同,以下將發(fā)送信息序列和接收信 息序列統(tǒng)稱為信息序列,信息序列的序數(shù)N的長度由全局最大序數(shù)P的長度來確定,全局最 大序數(shù)P的獲取過程為步驟a、將長度為η的信息序列的第一個(gè)元素刪除后,形成長度為η-1的序列,步驟b、將所述長度為η-1的序列的不同元素的個(gè)數(shù)均勻化,不同元素的個(gè)數(shù)Tli按計(jì)算,且滿足條件 ,使不同元素個(gè)數(shù) 相差不超過 步驟C、按照如下公式獲取全局最大序數(shù)P
10.根據(jù)權(quán)利要求7所述的一種基于組合編碼的信息糾錯(cuò)的方法,其特征在于,字典空間含有HlIn2 !...H” I對應(yīng)的基準(zhǔn)序列中各元素的數(shù)目個(gè)不同的排列,Μι、 2、···、&k為信息序列中含有
全文摘要
一種基于組合編碼的信息檢錯(cuò)和糾錯(cuò)的方法,屬于通信領(lǐng)域,本發(fā)明為解決目前檢錯(cuò)技術(shù)通常能檢測一位或兩位錯(cuò)誤,目前糾錯(cuò)技術(shù)一次通常只能糾正1比特錯(cuò)誤的問題。本發(fā)明檢錯(cuò)的方法包括一、發(fā)送端按設(shè)定規(guī)則發(fā)送數(shù)據(jù),二、接收端解析接收信息序列+所述發(fā)送信息序列的序數(shù),三、計(jì)算接收序數(shù),四、判斷三的序數(shù)是否與二的序數(shù)相等,是,接收無錯(cuò);否,接收檢出錯(cuò)誤,然后執(zhí)行五進(jìn)行糾錯(cuò),五、假設(shè)第j個(gè)元素是錯(cuò)誤的,令j=1,步驟六、令接收信息序列的第j個(gè)元素為基準(zhǔn)序列中非本身的其它元素,形成新序列,七、計(jì)算新序列的序數(shù),八、判斷七的序列的序數(shù)是否與二的序數(shù)相等,記錄相等的序列,作為糾錯(cuò)后的序列,完成對接收到的序列的糾錯(cuò)。
文檔編號H04L1/00GK101882977SQ20101023356
公開日2010年11月10日 申請日期2010年7月22日 優(yōu)先權(quán)日2010年7月22日
發(fā)明者劉大昕, 劉志遠(yuǎn), 姜譽(yù), 王圣宏, 田海宇, 譚龍, 趙鵬, 陸軍 申請人:黑龍江大學(xué)