網路通訊時代,資料傳輸不免會有些雜訊干擾,為了讓通訊接收器可以偵測與驗證資料 正確性,通訊傳送器常會在資料流 D中插入驗證碼的機制,得到一組新的 codeword(碼字)。 例如,假設要傳送一組 M=8 位元資料 D = "11000010",則加入驗證碼後的 codeword,可 由下列計算步驟求出:
A) 設定插入的驗證碼為 K個位元,其中資料長度M≦2n且 K = n + 1。編碼後的 codeword 長度則為 (M+K) 個位元。例如,若傳送的資料 D 為 M=8 位元,則驗證碼長度為 K=(3+1)=4位元,codeword 總長度為 M+K = 8+4 = 12個位元。
B) 從左往右、由高位元至低位元,填入資料 D 的每個數位,但 2的次方的位置不填。
位置 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
資料 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 |
C) 對「資料列」中 1的格子,在下方「二進位列」中,寫入其「位置」的二進位值。
位置 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
資料 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | ||||
二進位 | 0011 | 0101 | 1011 |
D) 對所有二進位數位,求「XOR(互斥或)」產生驗證碼。0011⊕0101⊕1011 = 1101
E) 把產生之驗證碼「1101」,由低位至高位,依次填入2的次方的位置(低位元在左)。
位置 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
資料 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | ||||
二進位 | 0011 | 0101 | 1011 | |||||||||
驗證碼 | 1 | 0 | 1 | 1 |
F) 碼字 codeword為上表所有底線數字的排列結果:"101110010010"
第一個數值為資料位元長度 K 之後,輸入 K 位元之資料 D; 兩者以空格隔開。
4 ≦ K ≦ 10
D 為 2 進制數字。
輸出編碼後之 codeword。
8 11000010
101110010010
8 10101101
011001011101
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |