本發明涉及信息編碼,特別是一種任意碼距的二進制編碼集生成方法及系統。
背景技術:
1、在信息通信過程中,編碼是重要的一個環節,同樣的信息量,采用不同編碼方式,生成的數據量差別巨大;在遠距離通信中,例如衛星通信中,由于傳輸成本較高,如果一組編碼集,既能實現檢錯,也能實現糾錯,就可以大幅降低通信成本,同樣的技術還可以用于無人機控制等無線通信編碼,也可以用于光纖通信等有線通信的編碼。
2、為了在一組編碼中實現k位的糾錯,其編碼集的碼距需要做到2k+1,此時也可以實現2k位檢錯,對于n位二進制位,如何快速產生整套可行的編碼集,使之滿足所需要的碼距,是實現遠程數據表示、通信和數據存儲的重要基礎,當前實現任意碼距編碼集的生成方法均需多次遍歷,效率低下。
技術實現思路
1、發明目的:為了克服當前實現任意碼距編碼集的生成方法均需多次遍歷、效率低下的問題,本發明提供一種通信信息任意碼距編碼集生成方法。
2、技術方案:為實現上述目的,本發明采用的技術方案為:
3、一種通信信息任意碼距編碼集生成方法,包括以下步驟:
4、步驟1,采集通信信息。對通信信息進行編碼,每個編碼的數據位為n位,根據求出滿足公式的st的最小值,其中,st為自然數,為組合公式,n為編碼的數據位,k為編碼中糾錯位。
5、步驟2,根據通信信息求出n個st位狀態位編碼關系,狀態位編碼關系是1的數量不少于k-1個,即任意st位狀態位編碼關系s滿足∑(si=1)≥k-1,其中si表示狀態位s中第i個位的值,i∈[0,st-1]。
6、步驟3,將n位數據位表示為:dn-1……dn……d0,其中n∈[0,n-1],dn表示n位數據位,將dn與s(n)建立映射表,dn對應的s(n)表示為s(n)st-1……s(n)i……s(n)0。
7、步驟4,通過映射表求出每個狀態位編碼關系式。
8、步驟5,列出2n個n位數據位編碼data(m),其中m∈[0,2n-1],根據已求出的每個狀態位編碼關系式,求出每個數據位編碼data(m)對應的狀態位編碼state(m),將數據位編碼data(m)對應的狀態位編碼state(m)連接構成n+st位的編碼code(m),即code(m)=state(m)∪data(m),此處∪表示編碼連接,得到的所有編碼code(m)構成的集合即為碼距為k的編碼集。
9、優選的:步驟2中求出n個st位狀態位編碼關系的方法:
10、步驟21,列出st位二進制編碼關系全集,共獲得2st種狀態位編碼關系。
11、步驟22,將獲得的2st種狀態位編碼關系中1的數量少于k-1個的狀態位編碼關系從集合中刪除,得到可用狀態位編碼關系。
12、步驟23,在可用的狀態位編碼關系中任選n個,作為最終狀態位編碼關系,表示為{s(n-1),……,s(n),……,s(0)},每個狀態位編碼關系有st位,s(n)的各二進制位表示為:s(n)st-1……s(n)i……s(n)0,其中i∈[0,st-1]。
13、優選的:步驟4中每個狀態位編碼關系式:
14、優選的:步驟5中的具體方法:
15、步驟51,列出編碼表,包含數據位編碼data(m)和狀態位編碼state(m),其中m∈[0,2n-1],每個數據位編碼由位至d0位共n位構成,每個狀態位編碼由sst-1位至s0位共st位構成。
16、步驟52,在編碼表的數據位編碼data(m)下方填入2n個n位數據位編碼,根據已求出的每個狀態位編碼關系式,求出對應狀態位編碼state(m)中sst-1位至s0位的值,填入編碼表中,即得到2n個編碼構成的碼距為k的編碼集。
17、本發明的另一目的是提供一種基通信信息任意碼距編碼集生成系統,包括采集單元、st確定單元、狀態位編碼關系確定單元、映射表單元、狀態位編碼關系式確定單元、編碼集確定單元,其中:
18、所述采集單元用于采集通信信息。
19、所述st確定單元用于對通信信息進行編碼,每個編碼的數據位為n位,根據求出滿足公式的st的最小值,其中,st為自然數,為組合公式,n為編碼的數據位,k為編碼中糾錯位。
20、所述狀態位編碼關系確定單元用于根據通信信息求出n個st位狀態位編碼關系,狀態位編碼關系是1的數量不少于k-1個,即任意st位狀態位編碼關系s滿足∑(si=1)≥k-1,其中si表示狀態位s中第i個位的值,i∈[0,st-1]。
21、所述映射表單元用于將n位數據位表示為:dn-1……dn……d0,其中n∈[0,n-1],dn表示n位數據位,將dn與s(n)建立映射表,dn對應的s(n)表示為s(n)st-1……s(n)i……s(n)0。
22、所述狀態位編碼關系式確定單元用于通過映射表求出每個狀態位編碼關系式。
23、所述編碼集確定單元用于列出2n個n位數據位編碼data(m),其中m∈[0,2n-1],根據已求出的每個狀態位編碼關系式,求出每個數據位編碼data(m)對應的狀態位編碼state(m),將數據位編碼data(m)對應的狀態位編碼state(m)連接構成n+st位的編碼code(m),即code(m)=state(m)∪data(m),此處∪表示編碼連接,得到的所有編碼code(m)構成的集合即為碼距為k的編碼集。
24、優選的:所述st確定單元包括狀態位編碼關系模塊、可用狀態位編碼關系模塊、最終狀態位編碼關系模塊,其中:
25、所述狀態位編碼關系模塊用于列出st位二進制編碼關系全集,共獲得2st種狀態位編碼關系。
26、所述可用狀態位編碼關系模塊用于將獲得的2st種狀態位編碼關系中1的數量少于k-1個的狀態位編碼關系從集合中刪除,得到可用狀態位編碼關系。
27、所述最終狀態位編碼關系模塊用于在可用的狀態位編碼關系中任選n個,作為最終狀態位編碼關系,表示為{s(n-1),……,s(n),……,s(0)},每個狀態位編碼關系有st位,s(n)的各二進制位表示為:s(n)st-1……s(n)i……s(n)0,其中i∈[0,st-1]。
28、優選的:所述編碼集確定單元包括編碼表列出模塊、填入數據位編碼模塊,其中:
29、所述編碼表列出模塊用于列出編碼表,包含數據位編碼data(m)和狀態位編碼state(m),其中m∈[0,2n-1],每個數據位編碼由d2n-1位至d0位共n位構成,每個狀態位編碼由sst-1位至s0位共st位構成。
30、所述填入數據位編碼模塊用于在編碼表的數據位編碼data(m)下方填入2n個n位數據位編碼,根據已求出的每個狀態位編碼關系式,求出對應狀態位編碼state(m)中sst-1位至s0位的值,填入編碼表中,即得到2n個編碼構成的碼距為k的編碼集。
31、本發明的另一目的是提供一種電子設備,包括:至少一個處理器、至少一個存儲器和通信接口。所述處理器、存儲器和通信接口相互間進行通信。所述存儲器存儲有可被所述處理器執行的程序指令,所述處理器調用所述程序指令,以執行所述通信信息任意碼距編碼集生成方法。
32、本發明的另一目的是提供一種非暫態計算機可讀存儲介質,所述非暫態計算機可讀存儲介質存儲計算機指令,所述計算機指令使所述計算機執行所述通信信息任意碼距編碼集生成方法。
33、本發明相比現有技術,具有以下有益效果:
34、(1)能生成滿足任意碼距要求且符合編碼集數量的最短編碼集;
35、(2)將編碼集生成方法以簡單的數學式表示,便于快速計算和匹配;
36、(3)通過一次遍歷即完成編碼集的生成,理論上已做到最優,大幅提升編碼效率;
37、(4)狀態位編碼與數據位編碼可自由匹配,構成不同的映射關系,便于生成不同編碼集,滿足實際需求。