LFSR 抽頭序列 15 位 LFSR
我被要求創建一個多項式為 x^15 + x + 1 的 LFSR,我很困惑抽頭序列的去向。
我給出的範例顯示了一個 4 位抽頭序列,其中包含兩個多項式:x^3 + 1 和 x^2 + 1。它們分別在位置0 10 1和 0 1 0 1處具有抽頭,其中粗體表示抽頭序列。
我對 x^15 + x + 1 的抽頭序列的去向感到困惑,因為在上面的第一個範例中,有 4 位,但抽頭在多項式 x^3+1 的兩端。那麼如何將 x^15 放在 15 位 LFSR 上呢?它不適合嗎?(在範例之後,x^14 + 1 是 15 位 LFSR 任一端的抽頭?)
我也為此編寫了程式碼並放置了抽頭0 000011111000 00,我認為這是正確的抽頭序列,但是這僅輸出 14 位,遠低於我的估計。0s 和 1s 是不同的然後上面提到。這也與我給出的 4 位範例不匹配,這讓我非常困惑。
我哪裡錯了,對此的任何建議將不勝感激,謝謝。
讓 $ [s_0, s_1, \ldots, s_{14}] $ 表示移位寄存器的初始內容(保存 15 位)。輸出序列為 $$ s_0, s_1, s_2, \ldots, s_{14}, s_{15}, s_{16}, \ldots $$ 按順序與 $ s_{15} $ 是回饋到移位寄存器的第一個計算位。那是, $ s_{15} $ 被計算為初始內容的線性函式(意味著 XOR 操作) $ [s_0, s_1, \ldots, s_{14}] $ 的移位寄存器,然後將其內容向左移動一位 $ s_0 $ 被送到黑暗骯髒的世界,同時 $ s_{15} $ 進入右邊的移位寄存器,從而使移位寄存器的內容 $ [s_1, s_2, \ldots, s_{14}, s_{15}] $ . 因此移位寄存器內容的變化看起來像 $$ (s_0, \quad s_1, \quad \ldots, \quad s_{13}, \quad s_{14})\ \downarrow\ (s_1, \quad s_2, \quad \ldots, \quad s_{14}, \quad s_{15})\ \downarrow\(s_2, \quad s_3, \quad \ldots, \quad \quad s_{15}, \quad s_{16})\ \downarrow\ \cdots \quad \cdots $$ 更一般地說
$$ \biggr(s_i, \quad s_{i+1}, \ldots, \quad s_{i+13}, \quad s_{i+14}\biggr)\ \downarrow\ \biggr(s_{i+1}, \quad s_{i+2}, \ldots, \quad s_{i+14}, \quad {\Large{\oplus}}{j=0}^{14}c{15-j} s_{i+j}\biggr), $$ 在哪裡 $ c_{15}x^{15}+c_{14}x^{14} + \cdots + c_1 x + c_0 = x^{15}+x+1 $ 是回饋多項式。換句話說,$$ s_{i+15} = c_{15}s_{i}\oplus c_1s_{i+14} = s_i \oplus s_{i+14} $$因此抽頭位於移位寄存器的第 0 級和第 14 級。
請注意,有一個替代約定將回饋多項式定義為 $ c_0 x^{15} + c_1x^{14} + \cdots + c_{14}x + c_{15} $ 這將改變水龍頭的位置。