System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及通信編碼,具體為一種基于德布魯因序列的數據編碼方法。
技術介紹
1、在一些高密度存儲器例如賽道存儲技術中,數據讀取是由多個讀取端口或讀取頭執行的,其中信息存儲的基本單位被稱為“單元”。在讀取信息的過程中,每個單元都會被移動到最近的讀取頭位置。然而,一旦一個單元開始移動,其他所有單元也會同步進行移動。這就意味著在單元移動的過程中,多個讀取頭可能會同時并行讀取一個塊位,即非二進制符號。然而,如果一個單元的移動距離超過了一個單元的位置,那么就有可能出現一個或多個單元未被每個讀取頭讀取的情況。這種現象可能導致非二進制符號的刪除,甚至可能導致連續的非二進制符號(即突發)的刪除。
2、為了解決非二進制刪除錯誤問題,當前的工作提出了一些修正方法,例如可以引入額外的讀寫頭來重構數據,但這會導致編碼效率的降低;或者利用“猜測與檢查”編碼方案來定位錯誤并對其進行糾錯。然而,這種方法假設接收器已知碼字的邊界,并不能應用于實際場景。
技術實現思路
1、本專利技術提供了一種基于德布魯因序列的數據編碼方法,具有較高的編碼效率,在刪除錯誤數量一定的情況下,編碼效率隨著碼長的增加趨近最優,同時本方法在糾錯過程中無須知道碼字邊界即可完成錯誤的定位和糾錯,可以對不超過給定數目的非二進制刪除錯誤進行完全糾錯。
2、本申請提供如下技術方案:
3、s1、將長度為k的非二進制消息塊u,即u=[u1,u2,…,uk]編碼為一個碼率為長度為n的mds碼字c,即c=[c1,c2,…
4、s2、將db碼π*=[π1,π2,…,πb]進行重復和串聯得到一層db碼序列∏=[π*,π*,…]=[πi,π2,…,πi,…],其中并將db碼層放在mds碼層之下或之上,則每一個mds碼字符號ci都與一個db符號πi,構成一個db-mds碼符號其中qπ為db符號的域;
5、s3、每n個db-mds碼符號xi構成一個db-mds(n,k,πl)碼,每個db-mds(n,k,πl)碼由一個mds(n,k)碼以及一個周期為πl長度為n的db序列構成,每個db-mds(n,k,πl)碼能糾正一段長度不超過πl-1的刪除錯誤,其中πl-1≤n-k;
6、s4、長度為k的非二進制消息塊u經過以上編碼步驟得到db-mds(n,k,πl)碼字序列x。
7、進一步,所述的mds碼字c為rs碼。
8、進一步,還包括以下步驟:
9、s5、碼字序列x經過非二進制刪除錯誤信道,得到發生刪除錯誤的碼字序列y;
10、s6、對碼字序列y進行錯誤定位和序列同步,得到含有擦除錯誤的碼字序列所述碼字序列由含有擦除錯誤的碼字構成;
11、s7、將碼字中的db符號進行移除,得到含有擦除錯誤的mds碼字
12、s8、將含有擦除錯誤的mds碼字通過mds碼糾錯得到二進制信息序列
13、進一步,s6步驟具體包括:
14、s61、觀察每個接收到的含有刪除錯誤碼字中的剩余的db序列的樣式,確定yj中是否有刪除錯誤發生,其中δj-1表示序列同步補償系數,即第j個碼字yj之前所有刪除錯誤的總長度;
15、s62、若確定yj中有刪除錯誤發生,通過yj中剩余的db序列樣式定位刪除錯誤的位置;
16、s63、對yj中刪除錯誤所在的位置隨機插入符號使得yj變為
17、本專利技術的原理和優點在于:
18、mds碼(maximum?distance?separable)碼是一種具有最大可能最小漢明距離的線性編碼方案,作為一種最常見的mds碼,reed-solomon碼被廣泛應用于數字通信系統中以對抗非二進制的突發錯誤。
19、德布魯因序列(de?bruijn?sequence)是一種特殊的序列,它在數學、計算機科學和密碼學等多個領域都有應用。德布魯因序列db(k,n)是一個由k個不同符號組成的序列,其長度為kn,并且在該序列的所有長度為n的連續子序列中,包含了所有可能的kn個不同的n-元組恰好一次。因其具有緊湊性、周期性和唯一性的特點,常用于在通信領域中設計高效的編碼和解碼方案。
20、本專利技術將mds碼的糾錯能力與德布魯因序列的緊湊性和完整性相結合,構造出一種非二進制刪除錯誤糾錯碼,首先對非二進制信消息塊編碼得到mds碼字,再由mds碼字符號和db碼字符號構成dm-mds碼字符號,將n個db-mds碼字符合構成一個db-mds(n,k,πl)碼,也就是碼字x。經過上述編碼步驟,原始的非二進制消息塊編碼轉換為db-mds碼字序列。這種db-mds編碼可以滿足數據存儲中(由于機械振動或者干擾所產生的)非二進制刪除錯誤糾錯的需求,確保數據能夠被準確無誤地恢復。德布魯因序列保證了數據的完整覆蓋,而mds碼則提供了強大的錯誤檢測和糾正功能。
21、db-mds(n,k,πl)總體碼率為在刪除錯誤一定的情況下,即給定qπ情況下,編碼效率(總體碼率)隨著碼長n的增加趨近最優,即其中limn→∞log2qc=limn→∞log2qπqc,因為
22、將rs(n,k)定義為伽羅華域gf(2m)上的reed-solomon(rs)碼,碼率為k/n,其中2m-1=n+σ,σ≠0表示縮短的rs碼,σ=0表示標準rs碼。系統rs碼的生成矩陣,表示為gk×n,可以寫為:
23、
24、其中ek×k表示維度為k的單位矩陣。
25、令mj×k為消息矩陣,其中j是碼字的數量,k是碼字的消息長度。令cj×n為碼字(組)矩陣。rs碼的編碼過程可以簡單表示為:
26、gj×n=mj×kgk×n?????????????????????(2)
27、令表示c(k,:),c(:,n)和g(k,n)分別表示矩陣gk×n的第k行,第n列,和在第k行第n列的元素。令為一個待編碼的信息符號塊,將mi進行rs編碼之后可以得到:
28、
29、令2t=n-k。由于rs碼是循環碼,rs(n,k)碼的生成多項式可以寫成:
30、g(x)=(x-α)(x-α2)…(x-α2t)=g0+g1x+…+g2t-1x2t-1+g2tx2t?????(4)
31、其中α,α2,…,α2t是伽羅華域gf(2m)上的本原元,并且i=0,…,2t。需要說明的是,生成多項式也同時是碼字多項式。
32、由于rs碼是最大距離可分(maximum?distance?separable,mds)碼,則rs碼可以達到singleton界。如果c是一個線性碼,其中碼長為n,維度為k,包含q個元素的伽羅華域上的最小的距離為d,那么最多的碼字個數為qk。
33、singleton界可表示為以下不等式:
34、qk≤qn-d+1,???????本文檔來自技高網...
【技術保護點】
1.一種基于德布魯因序列的數據編碼方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的一種基于德布魯因序列的數據編碼方法,其特征在于:所述的MDS碼字c為RS碼。
3.根據權利要求1所述的一種基于德布魯因序列的數據編碼方法,其特征在于,還包括:
4.根據權利要求3所述的一種基于德布魯因序列的數據編碼方法,其特征在于,所述S6具體為:
【技術特征摘要】
1.一種基于德布魯因序列的數據編碼方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的一種基于德布魯因序列的數據編碼方法,其特征在于:所述的mds碼字c為rs碼。
...【專利技術屬性】
技術研發人員:周繼華,易琛,趙濤,劉香渝,吳堅,郭子文,黃華,
申請(專利權)人:航天新通科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。