System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及一種基于fpga硬件邏輯的數據糾刪方法及系統,屬于集成電路。
技術介紹
1、當下信息時代不斷發展,數字內容快速增長,尤其是隨著網絡技術的迅速發展,在各個領域中產生尤為龐大的數據,這使得數據管理面臨巨大挑戰,數據量的爆發式增長導致存儲系統的規模和復雜性不斷增加,使得數據的存儲傳送變得愈發困難,數據在傳輸過程中可能遭遇各種問題,如網絡擁塞、傳輸錯誤或惡意攻擊,這些都可能導致數據丟失或損壞,保證數據在傳輸過程中的可靠性是當前亟待解決的重要問題之一。
2、為防止數據的丟失,通常采用糾刪碼技術,將原始數據劃分成塊,基于原始數據塊利用算法計算出冗余塊數據,將攜帶冗余的原始數據塊一并傳輸,當在傳輸過程中出現丟包少于冗余塊數時,可在數據接收時利用算法將丟失的數據包恢復。
3、糾刪碼技術主要分為reed-solomon(rs)碼和陣列碼,rs類糾刪碼通常在galois域gf(2w)上進行多項式參與編碼和解碼運算,這將導致其較高的編解碼計算復雜度,硬件實現時需要龐大的硬件資源,陣列碼的編碼和解碼過程通常使用異或和循環移位運算,其運算復雜度以及硬件實現資源相比rs碼大幅縮小。
4、在接收到編碼后的數據解碼系統中,通常需要系統中斷,使軟件驅動cpu等參與矩陣的計算,使得解碼速度大幅度降低,為此,提出本專利技術,利用fpga硬件現有資源,不使用任何軟件和cpu等參與計算,快速實現解碼糾刪,提高糾刪速度。
技術實現思路
1、針對現有技術的不足,本專利技術提供一
2、本專利技術的技術方案如下:
3、一種基于fpga硬件邏輯的數據糾刪方法,步驟如下:
4、(1)接收攜帶編碼冗余的原始數據,進行校驗和剝離處理;
5、(2)利用校驗數據計算并輸出數據包;
6、(3)利用數據包計算丟失的原始數據;
7、(4)將步驟(3)得到的編碼數據寫入丟失的原始數據包中,完成數據糾刪。
8、根據本專利技術優選的,步驟(1)中,校驗步驟為:
9、對512bit的原始數據做crc32校驗,校驗方法是使用組合邏輯對該時鐘內的512bit位分64bit分別校驗8次,得到256bit的crc校驗碼,通過對該校驗碼的每32bit位做異或運算,壓縮校驗碼至32bit;
10、對壓縮校驗的32bit數據與數據輸入的首端32bit的crc對比,對比結果不一致視為數據錯誤,當產生錯誤的情況下,對該錯誤計數,計數分為,在輸入數據為原始數據時的錯誤計數和在編碼冗余使能信號下的編碼冗余錯誤計數。
11、根據本專利技術優選的,步驟(1)中,剝離步驟為:
12、將原始數據和編碼冗余中的crc剝離,將剩余的攜帶info的原始數據和編碼冗余依次存入ram中。
13、根據本專利技術優選的,步驟(2)中,具體為:
14、根據校驗產生的2個錯誤計數,通過加法運算得到總錯誤數據量,判斷總錯誤數據量是否為零,如果為零則說明傳輸過程沒有丟包,讀取ram中存儲的原始數據直接輸出;
15、若總錯誤數據量超出編碼冗余數據總量,說明丟包或出錯超出糾刪最大范圍,產生錯誤超值信號,將ram中的數據依次輸出;
16、若總錯誤數據量沒有超出編碼冗余數據總量,則讀取ram中的正確原始數據和編碼冗余,讀取的正確原始數據和編碼冗余總數為輸入數據中原始數據的總數,記錄錯誤或丟包的原始數據編號,然后生成全新系數矩陣。
17、根據本專利技術進一步優選的,步驟(2)中,全新系數矩陣生成步驟為:
18、①根據錯誤或丟包的原始數據編號,讀取編碼時存于系數矩陣存儲器的系數矩陣;
19、②用高斯消元法等方法計算錯誤或丟包原始數據對應的系數矩陣的逆矩陣,將系數矩陣存儲器中剩余系數矩陣與逆矩陣異或,生成編碼,并將逆矩陣數據拼接至編碼的尾端,生成全新系數矩陣。
20、根據本專利技術優選的,步驟(3)中,具體的:
21、將步驟(2)中,總錯誤數據量沒有超出編碼冗余數據總量時讀取的數據與全新系數矩陣
22、異或運算,運算結果即為丟失的原始數據。
23、根據本專利技術優選的,步驟(4)中,具體的,將步驟(3)得到的編碼數據根據記錄的地址,重新寫入ram中丟失的原始數據包中,并輸出ram中所有的原始數據包,完成丟包或錯誤的原始數據糾刪。
24、一種基于fpga硬件邏輯的數據糾刪系統,包括:
25、校驗和剝離模塊:用于接收攜帶編碼冗余的原始數據,進行校驗和剝離處理;
26、校驗數據計算模塊:利用校驗數據計算并輸出數據包;
27、丟失數據計算模塊:利用數據包計算丟失的原始數據;
28、修復模塊:用于將步驟(3)得到的編碼數據寫入丟失的原始數據包中,完成數據糾刪。
29、本專利技術的有益效果在于:
30、本專利技術通過原始數據和編碼冗余的校驗分析判斷,決定原始數據的去向,當原始數據丟包時,利用存儲的系數矩陣調用、拼接、運算等將丟失的原始數據包找回,并完整的輸出真確的原始數據包,利用fpga硬件現有資源,不使用任何軟件和cpu等參與計算,快速實現解碼糾刪,提高了糾刪速度。
本文檔來自技高網...【技術保護點】
1.一種基于FPGA硬件邏輯的數據糾刪方法,其特征在于,步驟如下:
2.如權利要求1所述的基于FPGA硬件邏輯的數據糾刪方法,其特征在于,步驟(1)中,校驗步驟為:
3.如權利要求2所述的基于FPGA硬件邏輯的數據糾刪方法,其特征在于,步驟(1)中,剝離步驟為:
4.如權利要求3所述的基于FPGA硬件邏輯的數據糾刪方法,其特征在于,步驟(2)中,具體為:
5.如權利要求4所述的基于FPGA硬件邏輯的數據糾刪方法,其特征在于,步驟(2)中,全新系數矩陣生成步驟為:
6.如權利要求5所述的基于FPGA硬件邏輯的數據糾刪方法,其特征在于,步驟(3)中,具體的:
7.如權利要求6所述的基于FPGA硬件邏輯的數據糾刪方法,其特征在于,步驟(4)中,具體的,將步驟(3)得到的編碼數據根據記錄的地址,重新寫入RAM中丟失的原始數據包中,并輸出RAM中所有的原始數據包,完成丟包或錯誤的原始數據糾刪。
8.一種基于FPGA硬件邏輯的數據糾刪系統,其特征在于,包括:
【技術特征摘要】
1.一種基于fpga硬件邏輯的數據糾刪方法,其特征在于,步驟如下:
2.如權利要求1所述的基于fpga硬件邏輯的數據糾刪方法,其特征在于,步驟(1)中,校驗步驟為:
3.如權利要求2所述的基于fpga硬件邏輯的數據糾刪方法,其特征在于,步驟(1)中,剝離步驟為:
4.如權利要求3所述的基于fpga硬件邏輯的數據糾刪方法,其特征在于,步驟(2)中,具體為:
5.如權利要求4所述的基于fpga硬件邏輯的數據糾刪方法,其特征在...
【專利技術屬性】
技術研發人員:王懷宇,李文彬,劉思睿,王宇亮,劉炳濤,李宗鵬,
申請(專利權)人:泉城省實驗室,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。