l027: 資料傳輸編碼(107-3)
標籤 : 萊恩盃
通過比率 : 2人/2人 ( 100% ) [非即時]
評分方式:
Tolerant

最近更新 : 2022-10-28 08:31

內容

網路通訊時代,資料傳輸不免會有些雜訊干擾,為了讓通訊接收器可以偵測與驗證資料 正確性,通訊傳送器常會在資料流 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的次方的位置不填。

位置123456789101112
資料  1 100 0010


C) 對「資料列」中 1的格子,在下方「二進位列」中,寫入其「位置」的二進位值。

位置123456789101112
資料  1 100 0010
二進位  0011 0101     1011 


D) 對所有二進位數位,求「XOR(互斥或)」產生驗證碼。0011⊕0101⊕1011 = 1101
E) 把產生之驗證碼「1101」,由低位至高位,依次填入2的次方的位置(低位元在左)。

位置123456789101112
資料  1 100 0010
二進位  0011 0101     1011 
驗證碼10 1   1    


F) 碼字 codeword為上表所有底線數字的排列結果:"101110010010"

輸入說明

第一個數值為資料位元長度 K 之後,輸入 K 位元之資料 D; 兩者以空格隔開。
4 ≦ K ≦ 10
D 為 2 進制數字。

輸出說明

輸出編碼後之 codeword。

範例輸入 #1
8 11000010
範例輸出 #1
101110010010
範例輸入 #2
8 10101101
範例輸出 #2
011001011101
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (25%): 1.0s , <1K
公開 測資點#1 (25%): 1.0s , <1K
公開 測資點#2 (25%): 1.0s , <1K
公開 測資點#3 (25%): 1.0s , <1K
提示 :
標籤:
萊恩盃
出處:
南台科技大學資工系 107-3 [管理者: zero(管理員) ]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」