close

       我們在進入正題之前要先介紹Codeword跟Code的關係,我們把一些碼字 (Codeword) 的集合定義成 Code (代號C)。舉例來說 C = {000,101,111},其中000, 101, 111分別就是三組 Codeword 。其中我們把Codeword的長度定義成length n,把 Codeword 的組數取2為底的log然後定義成dimension k (也就是說 k = log2|C|)。如果 C 的每個 Codeword 都有一樣的 length 那麼 C 就是 Block Code。如果 C 的任兩個 Codeword 相加會等於 C 的另外一個 Codeword,那麼 C 就是Linear Code (因為有線性的特性)。要注意的是這裡的數字都是0跟1組成的,所以0+0=0,1+0=1,1+1=0。

        舉例來說 C = {000,100,001,101} 那麼 |C| = 4 ,Codeword 的 length = 3,而 dimension k = log24 = 2。我們隨便把兩個 Codeword 相加就會發現相加完的結果依然是 Codeword。000 + 100 = 100,100 + 101 = 001,100 + 001 = 101 等等,所以這是一個Linear code。此外,因為所有 Codeword 的 Length 都是3,所以這同時也是一個 Block code。

        漢明重量 (Hamming weight) 指的則是一個碼字裡頭非0的元素數量,我們一般記作wt,比如 wt(01001) = 2。漢明距離 (Hamming Distance) 指的則是兩個 Codeword 在相同位置字符卻不一樣的元素數量,一般記作d,比如d(0101,1111) = 2。當我們講 C 的 distance 時,我們指的就是任意兩個 Codeword 之間的最小距離。比如 C = {000,100,001,101} 那麼 distance d(C) = 1。

       

 

希望這篇簡短的文章能起到拋磚引玉的功用,若有錯誤還請不吝賜教。

arrow
arrow
    創作者介紹
    創作者 Worldexplorer 的頭像
    Worldexplorer

    worldexplorer

    Worldexplorer 發表在 痞客邦 留言(0) 人氣()