freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于糾錯碼的冗余技術(shù)的研究——evenodd碼的設(shè)計(jì)與實(shí)現(xiàn)-論文(文件)

2024-12-25 18:04 上一頁面

下一頁面
 

【正文】 成員,在 C1 組超過 k 個信息位出錯,但是 C2 中少于 k個信息位出錯,那么 X可以通過 C2來恢復(fù)。二維編碼策略是通過增加冗余 ,增加服務(wù)器的容錯能力。它不僅可以糾正突發(fā)錯誤 , 還可以糾正隨機(jī)錯誤 , 特別適用于糾正信號的突發(fā)錯誤。利用隨意的 5張圖片模擬存儲系統(tǒng)中存儲 的 數(shù)據(jù),然后利用 EVENODD 編碼技術(shù),生成 2 個校驗(yàn)數(shù)據(jù)存于另外存儲設(shè)備中(即兩張校驗(yàn)圖片)。例如: 75 = 2, 25 = 3。對于任意容量的數(shù)據(jù)塊,可以預(yù)先分割成 m1 行的塊分別進(jìn)行處理。 4) 為了譯碼描述方便, EVENODD 碼增加一行信息位,數(shù)據(jù)全為 0。兩列奇偶校驗(yàn)位是分別通過同一行的信息位或者給定斜率對角線的信息位異或而構(gòu)成的。 表 2 ( 6, 4)數(shù)組 ( 2) 在兩列 冗余校驗(yàn)中,其中有一列的冗余校驗(yàn)和參數(shù) S 進(jìn)行以后,參數(shù) S( m1,1) ,(m3,2),… (0,m1)可能是奇或偶,也是由于這個原因, 稱這類陣列碼為 EVENODD code。這兩譯碼算法沒有有限域的計(jì)算操作,只需要簡單異或操作,軟硬件實(shí)現(xiàn)簡單。 表 4 初始數(shù)據(jù) ? 0 ? 1 0 1 1 ? 1 ? 0 0 0 1 ? 1 ? 0 0 1 1 ? 1 ? 1 1 0 0 11 , 1 1 ,0( ) 4mmmi m i l llS a a?? ? ? ? ? ? ? ??? ? ? , 公 式 ( )1, 1 , 1 ,0( ) 0 2 5mmmk i i m k i l lllia S a a k m?? ? ? ? ? ? ? ???? ? ? ? ? ? ?, , 公 式 ( ),0 0 2 6mk i k lllka a k m??? ? ? ? ? , 公 式 ( )22, , 100( ) ( ) 7mml m l mllS a a?? ???? ? ? ? , 公 式 ( )( 0 ),0,1( 1 ), 1 ,0,8( ) 9mmu u lll i jmu u m u l lll i jSaS S a a???? ? ? ?????? ? ? ?, 公 式 ( ), 公 式 ( )( 1 )1,( 0 ), ( ) , , ,( 1 ) ( ) 1 0 0 1( 2 )( 3 ) ( ) 1 , 2mmm m ls j s j i i s i s s jjsmS e t s j i a n d a for l mLe t a a a n d a S aS e t s s j i if s m the n sto p e lse g o to ste pS?? ? ? ?? ? ?? ? ? ? ? ? ? ? ? ?? ? ? ?? ? ? ? ? ? ? 第一步要做的就是 找到公共因子 S,即將這個數(shù)組最后兩列相異或。我們讓5( ) 1 3 2ms j i? ? ? ? ? ? ? ? ? ? ?,這時計(jì)算過程如表 5。我們將在后面的證明中很好地利用 m 是素?cái)?shù)的這個條件。根據(jù)異或的性質(zhì)我們 可以很容易知道這是完全可行的。因此所有的對角線都有相同的公共因子 S。 21 ,00( ( ))mmm l t tlta?????????所有的垂直校驗(yàn)列的值異或(除掉共同因子 S),從 0 到 m1(每列m 行,但最后一行的值為 0) ,因此也就是所有的 0 到 m- 1 列所有數(shù)據(jù)位異或 。 第一步給 s 賦初值 s = (j i)1m 得到 s。 ( 2) 譯碼 算法是體現(xiàn)運(yùn)用 EVENODD 原理能夠勝任將出錯的兩個數(shù)據(jù)塊的數(shù)據(jù) 恢復(fù)的關(guān)鍵,也是體現(xiàn)了本原理在現(xiàn)實(shí)運(yùn)用中具有的高可靠性和高穩(wěn)定性。因此,圖像處理功能模塊又可以分成以下幾個子功能模塊,如:圖像載入、圖像保存、圖像破壞、圖像分割、圖像表達(dá)等。它是配合軟件的仿真而單獨(dú)設(shè)計(jì)的。 3. 譯碼 該功能是在實(shí)際生活中運(yùn)用最廣的一部分,它通過尚未有數(shù)據(jù)損失的原始圖像和通過編碼形成的尚未遭到數(shù)據(jù)破壞的校驗(yàn)數(shù)據(jù)將已破壞的數(shù)據(jù)恢復(fù)出來(已破壞數(shù)據(jù)塊的數(shù)目≤2)。 VENODD 編碼算法 1. 算法描述 EVENODD 編碼算法是產(chǎn)生冗余校驗(yàn)數(shù)據(jù)的核心算法。這個數(shù)組就是最小的處理單元。 tempMatrix1= new int[tempMemory[0].getColumn()][tempMemory[0].getRow()]。 for(int i = 0 。//獲取水平校驗(yàn)(公式 1) tempMatrix2[i] = (dataCache, (dataCache))。 diagRedun = new pictureInComp(temp)。它是在尚未破壞的數(shù)據(jù)塊的數(shù)據(jù)的基礎(chǔ)上運(yùn)用譯碼原理進(jìn)行操作的。 與 encode 算法思想一樣,我們同樣由待處理的 7 個不同對象( 5 個原數(shù)據(jù)塊, 2 個冗余校驗(yàn)數(shù)據(jù)塊),獲得最小數(shù)據(jù)單元,然后根據(jù) 譯碼 原理對最小數(shù)據(jù)單元進(jìn)行處理。將恢復(fù)的值傳入相應(yīng)的數(shù)組 i ++ u ++k = ( k ( error 2 error 1 ) + m ) % m 。 pictureInComp[] corectObj。//充當(dāng)數(shù)組轉(zhuǎn)置時的臨時變量 if(error1 == 2 amp。 //將正確的對象數(shù) 組拷貝到 correctObj 中 dataCache = new int[tempMemory[0].getRow()][]。//獲得對象元素中的數(shù)據(jù)中的每一列 ,組成一個數(shù)組 tempMatrix1[i] = (dataCache)。 (tempMatrix2, temp)。 error1 2) amp。 tempMatrix1 = new int[tempMemory[0].getRow()][tempMemory[0].getColumn()]。 i tempMemory[0].getColumn()。 for(int l = 0 。 k m 1 。 l++){ if(l != error1){ tempMatrix1[k][i] = tempMatrix1[k][i] ^ dataCache[(k + error1 l + m)%m][l]。 dataCache = new int[tempMemory[0].getRow()][m]。 tempMatrix2[i] = (dataCache)。amp。 /**修復(fù) 數(shù)據(jù)塊 error1*/ corectObj = new pictureInComp[m]。 i++ ){//獲取前 m+1 行的正確數(shù)據(jù) if(i != error1){corectObj[j++] = (pictureInComp)tempMemory[i].clone()。 tempMatrix1[i] = (dataCache)。 for(int i = 0 。 } (tempMatrix2, temp)。 error1 2)amp。 error2 2)){//兩個原數(shù)據(jù) 塊 出錯 int m = 2。 tempMatrix2 = new int[tempMemory[0].getRow()][tempMemory[0].getColumn()]。 int[] sh = new int[m]。 for(int j = 0 。 /**求 sh、 sd(公式 3 38) */ for(int u = 0 。 l++)//求 sh if(l != error1 amp。 for(int l = 0 。 l != error2){ sd[u] = sd[u] ^ dataCache[(u l + m)%m][l]。 k = (k (error2 error1) + m) % m。 tempMatrix2[j][i] = dataCache[j][error2]。 (0)。 int[][] dataCache = new int[tempMemory[0].getRow()][m]。//充當(dāng)數(shù)組轉(zhuǎn)置時的臨時變量 if(error1 1 amp。 i++){ if(i != error1){ corectObj[j++]=(pictureInComp)tempMemory[i].clone()。 tempMatrix[i] = (dataCache)。 for(int i = 0 。 } (tempMatrix, temp)。 } }else{//錯誤 數(shù)據(jù)塊 不能找到 ( error : fail to find the error disk !!)。 編碼功能接口設(shè)計(jì) 通過對“ EVENODD 編碼算法”的介紹我們可以知道,編碼算法的接口是一個pictureInComp 對象數(shù)組。從而使每個待處理圖像組成一個對象數(shù)組。這樣才能通過圖像表達(dá)功能顯示出與原數(shù)據(jù)大小相符的冗余圖像。并且在獲取圖片像素時,針對出錯圖片的處理方法是直接將出錯圖片的數(shù)據(jù)重新 賦為全部值是 0 的最大數(shù)組。 在運(yùn)行該軟件時首先出現(xiàn)在用戶面前的是一個十分友好的用戶界面,如圖 7。 圖 7 軟件操作主 界 面 打開 首先我們在選擇要打開的文件之前必須給打開的文件選擇存放的區(qū)域,即在數(shù)據(jù)顯示域的復(fù)選框中選擇。在選擇文件后,圖片顯示如圖 10 所示: 圖 8 打開文件出錯提示 圖 9 選擇文件對話框 圖 10 打開圖片顯示效 果 編碼 在對數(shù)據(jù)顯示域 data data data data data5都添加了數(shù)據(jù)后,我們就可以按照下列順序生成冗余校驗(yàn)圖片了。因此我們 可以按照下列步驟執(zhí)行該功能。其執(zhí)行后的效果圖如圖 11。 Data2數(shù)據(jù)域破壞后的執(zhí)行結(jié)果如圖 12: 圖 12 data2數(shù)據(jù)域圖片破壞 譯碼 譯碼 操作后的主要效果就是讓圖片恢復(fù)正常,它的主要操作步驟如:先選中要恢復(fù)的圖片的數(shù)據(jù)域,然后單擊“ Edit” →選擇 Decode”或者單擊 decode按鈕。注意:在執(zhí)行該功能之前一定要將 data data data data data5 的 5 個復(fù)選框選中,否則系統(tǒng)會提示你選擇復(fù)選框。在選擇了顯示的區(qū)域后我們按照以下的步驟可以順利打開文件。其中快捷鍵欄中的快捷按鈕功能在菜單欄中均能找到。因此在調(diào)用該方法是我們要針 對不同的出錯圖片數(shù)調(diào)用不同的方法。 編碼功能接口流程圖 編碼功能接口的流程圖 如圖 5: 譯碼功能接口設(shè)計(jì) 譯 碼功能接口的實(shí)現(xiàn)與編碼功能類似,他們處理的對象都是圖片格式的。因此在調(diào)用該算法之前,我們必須依次從每個對象中取出 4 5大小的數(shù)組并再次組成一個對象數(shù)組,調(diào)用 encode算法進(jìn)行處理。因此后面的過程顯得相當(dāng)?shù)谋匾? } } 算法接口實(shí)現(xiàn) 本軟件的編碼和 譯碼 功能是通過分別調(diào)用編碼和譯碼算法實(shí)現(xiàn)的。 }else{ ( error : fail to find the error disk !!)。 i++){ dataCache = (corectObj, i)。 tempMemory[error1].read(temp)。 i 。 error1 =0){//出錯 數(shù)據(jù)塊 是水平校驗(yàn)位或者原數(shù)據(jù) for(int i = 0 ,j = 0。 pictureInComp[] corectObj = new pictureInComp[m]。amp。 tempMemory[error2].read(tempMatrix2)。 j 。 while(k != m 1){ dataCache[k][error2] = sd[(error2 + k + m)%m] ^ dataCache[(k + error2 error1 + m)%m][error1]。 l++){ if(l != error1 amp。 l != error2){sh[u] = sh[u] ^ dataCache[u][l]。 u++){ for(int l = 0 。 j++) s = s ^ tempCache[j][m] ^ tempCache[j][m + 1]。 int k = 0。 i tempMemory[0].getColumn() 。 int[][] tempCache = new int[tempMemory[0].getRow()][m + 2]。(error2 = 0 amp。 }else if((error1 = 0 amp。 i++){ dataCache = (corectObj, i)。 tempMemory[error
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1