欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用線性反饋移位寄存器生成偽隨機(jī)數(shù)

星星科技指導(dǎo)員 ? 來源:ADI ? 作者:ADI ? 2023-01-14 11:59 ? 次閱讀

線性反饋移位寄存器與完全描述它們的多項(xiàng)式一起引入。應(yīng)用說明描述了如何實(shí)現(xiàn)它們以及可用于改善所生成數(shù)字的統(tǒng)計(jì)特性的技術(shù)。

介紹

LFSR(線性反饋移位寄存器)提供了一種在微控制器上快速生成非序列數(shù)字列表的簡單方法。生成偽隨機(jī)數(shù)只需要右移操作和 XOR 操作。圖 1 顯示了一個(gè) 5 位 LFSR。圖 2 顯示了 C 語言的 LFSR 實(shí)現(xiàn),圖 3 顯示了 8051 匯編中的 16 位 LFSR 實(shí)現(xiàn)。

LFSR和多項(xiàng)式

LFSR 完全由其多項(xiàng)式指定。例如,6千-次多項(xiàng)式與每個(gè)項(xiàng)存在用方程 x 表示6+ x5+ x4+ x3+ x2+ x + 1。有 2 個(gè)(6 - 1)= 32 個(gè)這種大小的不同可能多項(xiàng)式。與數(shù)字一樣,一些多項(xiàng)式是素?cái)?shù)或原始數(shù)。我們對(duì)原始多項(xiàng)式感興趣,因?yàn)樗鼈儠?huì)在移位時(shí)為我們提供最大長度周期。n 次的最大長度多項(xiàng)式將有 2n- 1個(gè)不同的州。每個(gè)班次后都會(huì)轉(zhuǎn)換到新狀態(tài)。因此,6千-次多項(xiàng)式將有 31 種不同的狀態(tài)。1 到 31 之間的每個(gè)數(shù)字在重復(fù)之前都會(huì)出現(xiàn)在移位寄存器中。在基元 6 的情況下千-次多項(xiàng)式,只有六個(gè)。表 1 列出了所有基元 6千-次多項(xiàng)式及其各自的多項(xiàng)式掩碼。多項(xiàng)式掩碼是通過采用多項(xiàng)式的二進(jìn)制表示并截?cái)嘧钣覀?cè)的位來創(chuàng)建的。掩碼用于實(shí)現(xiàn)多項(xiàng)式的代碼中。實(shí)現(xiàn) n 的多項(xiàng)式掩碼需要 n 位千-次多項(xiàng)式。

每個(gè)基元多項(xiàng)式都有奇數(shù)項(xiàng),這意味著基元多項(xiàng)式的每個(gè)掩碼都有一個(gè)偶數(shù) 1 位。每個(gè)原始多項(xiàng)式還定義了第二個(gè)原始多項(xiàng)式,即它的對(duì)偶。可以通過從每項(xiàng)的多項(xiàng)式次數(shù)中減去指數(shù)來找到對(duì)偶。例如,給定 6千-次多項(xiàng)式,x6+ x + 1,它的對(duì)偶是 x6-6+ x6-1+ x6-0,等于 x6+ x5+ 1.在表 1 中,多項(xiàng)式 1 和 2、3 和 4、5 和 6 是彼此的對(duì)偶。

表 2 列出了每個(gè)不同大小多項(xiàng)式的周期以及每個(gè)大小存在的基元多項(xiàng)式的數(shù)量。表 3 列出了每個(gè)不同大小的多項(xiàng)式的一個(gè)多項(xiàng)式掩碼。它還顯示了當(dāng) LFSR 初始化為 1 時(shí),LFSR 在連續(xù)班次后將保持的前四個(gè)值。此表應(yīng)有助于確保實(shí)現(xiàn)正確。

LFSR的結(jié)構(gòu)

LFSR 的值永遠(yuǎn)不會(huì)為零,因?yàn)闅w零的 LFSR 的每個(gè)偏移都會(huì)將其保留為零。LFSR 必須初始化,即種子,為非零值。當(dāng) LFSR 保持 1 并移動(dòng)一次時(shí),其值將始終為多項(xiàng)式掩碼的值。當(dāng)寄存器除最高有效位外全部為零時(shí),接下來的幾個(gè)偏移將顯示高位偏移到零填充的低位。例如,任何具有基元多項(xiàng)式的 8 位移位寄存器最終將生成序列 0x80、0x40、0x20、0x10、8、4、2、1,然后生成多項(xiàng)式掩碼。

使用 LFSR 生成偽隨機(jī)數(shù)

一般來說,基本的LFSR不會(huì)產(chǎn)生非常好的隨機(jī)數(shù)。通過選擇較大的LFSR并使用較低的位作為隨機(jī)數(shù),可以改進(jìn)更好的數(shù)字序列。例如,如果您有一個(gè) 10 位 LFSR 并且想要一個(gè) 8 位數(shù)字,則可以將寄存器底部的 8 位作為您的號(hào)碼。使用此方法,您將看到每個(gè) 8 位數(shù)字四次和零,三次,然后 LFSR 完成一個(gè)周期并重復(fù)。這解決了得到零的問題,但數(shù)字仍然沒有表現(xiàn)出非常好的統(tǒng)計(jì)特性。相反,您可以將 LFSR 的子集用于隨機(jī)數(shù),以增加數(shù)字的排列并改善 LFSR 輸出的隨機(jī)屬性。

在獲得隨機(jī)數(shù)之前多次移動(dòng)LFSR也可以改善其統(tǒng)計(jì)特性。將LFSR移動(dòng)其周期的一個(gè)因子將使總周期長度減少該因子。表2列出了各期間的因素。

LFSR 相對(duì)較短的周期可以通過將兩個(gè)或多個(gè)不同大小的 LFSR 的值異或相處來解決。這些異或LFSR的新周期將是周期的LCM(最小公倍數(shù))。例如,基元 4 位和基元 6 位 LFSR 的 LCM 是 LCM(15, 63),即 315。以這種方式加入 LFSR 時(shí),請(qǐng)確保僅使用最小位數(shù)的 LFSR;使用少于此量是更好的做法。對(duì)于 4 位和 6 位 LFSR,不應(yīng)使用超過底部的 4 位。在圖 2 中,底部的 16 位用于 32 位和 31 位 LFSR。 請(qǐng)注意,對(duì)兩個(gè)相同大小的 LFSR 進(jìn)行異或運(yùn)算不會(huì)增加周期。

LFSR的不可預(yù)測性可以通過用反饋項(xiàng)對(duì)一點(diǎn)“熵”進(jìn)行異或來增加。這樣做時(shí)應(yīng)該小心——加上熵位,LFSR 到所有零的可能性很小。如果定期添加熵,LFSR 的歸零將自行校正。這種與反饋項(xiàng)進(jìn)行異或的方法就是CRC(循環(huán)冗余校驗(yàn))的計(jì)算方式。

多項(xiàng)式不是生而相等的。有些多項(xiàng)式肯定會(huì)比其他多項(xiàng)式更好。表 2 列出了可用于最大 31 位大小的基元多項(xiàng)式的數(shù)量。嘗試不同的多項(xiàng)式,直到找到滿足您需求的多項(xiàng)式。表3中給出的掩模是隨機(jī)選擇的。

可以使用NIST的統(tǒng)計(jì)測試套件進(jìn)行更廣泛的測試。NIST還有幾本出版物描述了隨機(jī)數(shù)測試和對(duì)其他測試軟件的引用。

pYYBAGPCKJSAVzLZAAAQE_fBiik321.gif?imgver=1

圖1.LFSR 的簡化繪圖。

poYBAGPCKJeAOBLBAAAzdcgu_dg932.gif?imgver=1

圖2.實(shí)現(xiàn) LFSR 的 C 代碼。

pYYBAGPCKJmAPir9AAATey2SWd8233.gif?imgver=1

圖3.8051匯編代碼,用于實(shí)現(xiàn)掩碼為0D295h的16位LFSR。

不可約多項(xiàng)式 二進(jìn)制形式 二進(jìn)制掩碼 面具
1 x6 + x + 1 1000011b 100001b 0x21
2 x6 + x5 + 1 1100001b 110000b 0x30
3 x6 + x5 + x2 + x + 1 1100111b 110011b 0x33
4 x6 + x5 + x4 + x + 1 1110011b 111001b 0x39
5 x6 + x5 + x3 + x2 + 1 1101101b 110110b 0x36
6 x6 + x4 + x3 + x + 1 1011011b 101101b 0x2D
時(shí)期 時(shí)期因素 不。這種次數(shù)的原始多項(xiàng)式
3 7 7 2
4 15 3, 5 2
5 31 31 6
6 63 3, 3, 7 6
7 127 127 18
8 255 3, 5, 17 16
9 511 7, 73 48
10 1,023 3, 11, 31 60
11 2,047 23, 89 176
12 4,095 3, 3, 5, 7, 13 144
13 8,191 8191 630
14 16,383 3, 43, 127 756
15 32,767 7, 31, 151 1,800
16 65,535 3, 5, 17, 257 2,048
17 131,071 131071 7,710
18 262,143 3, 3, 3, 7, 19, 73 7,776
19 524,287 524287 27,594
20 1,048,575 3, 5, 5, 11, 31, 41 24,000
21 2,097,151 7, 7, 127, 337 84,672
22 4,194,303 3, 23, 89, 683 120,032
23 8,388,607 47, 178481 356,960
24 16,777,215 3, 3, 5, 7, 13, 17, 241 276,480
25 33,554,431 31, 601, 1801 1,296,000
26 67,108,863 3, 2731, 8191 1,719,900
27 134,217,727 7, 73, 262657 4,202,496
28 268,435,455 3, 5 29, 43, 113, 127 4,741,632
29 536,870,911 233, 1103, 2089 18,407,808
30 1,073,741,823 3, 3, 7, 11, 31, 151, 331 17,820,000
31 2,147,483,647 2147483647 69,273,666
32 4,294,967,29 3, 5, 17, 257, 65537 不可用
典型面罩 連續(xù)班次后LFSR中的前四個(gè)值
3 0x5 0x5 0x7 0x6 0x3
4 0x9 0x9 0xD 0xF 0xE
5 0x1D 0x1D 0x13 0x14 0xA
6 0x36 0x36 0x1B 0x3B 0x2B
7 0x69 0x69 0x5D 0x47 0x4A
8 0xA6 0xA6 0x53 0x8F 0xE1
9 0x17C 0x17C 0xBE 0x5F 0x153
10 0x32D 0x32D 0x2BB 0x270 0x138
11 0x4F2 0x4F2 0x279 0x5CE 0x2E7
12 0xD34 0xD34 0x69A 0x34D 0xC92
13 0x1349 0x1349 0x1AED 0x1E3F 0x1C56
14 0x2532 0x2532 0x1299 0x2C7E 0x163F
15 0x6699 0x6699 0x55D5 0x4C73 0x40A0
16 0xD295 0xD295 0xBBDF 0x8F7A 0x47BD
17 0x12933 0x12933 0x1BDAA 0xDED5 0x14659
18 0x2C93E 0x2C93E 0x1649F 0x27B71 0x3F486
19 0x593CA 0x593CA 0x2C9E5 0x4F738 0x27B9C
20 0xAFF95 0xAFF95 0xF805F 0xD3FBA 0x69FDD
21 0x12B6BC 0x12B6BC 0x95B5E 0x4ADAF 0x10E06B
22 0x2E652E 0x2E652E 0x173297 0x25FC65 0x3C9B1C
23 0x5373D6 0x5373D6 0x29B9EB 0x47AF23 0x70A447
24 0x9CCDAE 0x9CCDAE 0x4E66D7 0xBBFEC5 0xC132CC
25 0x12BA74D 0x12BA74D 0x1BE74EB 0x1F49D38 0xFA4E9C
26 0x36CD5A7 0x36CD5A7 0x2DABF74 0x16D5FBA 0xB6AFDD
27 0x4E5D793 0x4E5D793 0x6973C5A 0x34B9E2D 0x5401885
28 0xF5CDE95 0xF5CDE95 0x8F2B1DF 0xB25867A 0x592C33D
29 0x1A4E6FF2 0x1A4E6FF2 0xD2737F9 0x1CDDF40E 0xE6EFA07
30 0x29D1E9EB 0x29D1E9EB 0x3D391D1E 0x1E9C8E8F 0x269FAEAC
31 0x7A5BC2E3 0x7A5BC2E3 0x47762392 0x23BB11C9 0x6B864A07
32 0xB4BCD35C 0xB4BCD35C 0x5A5E69AE 0x2D2F34D7 0xA22B4937

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7658

    瀏覽量

    152177
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5369

    瀏覽量

    121265
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Matlab移位寄存器的實(shí)現(xiàn)

    ,反饋邏輯為 c0,c1,…,cn,則  {an}=c1an-1+c2an-2+…+cna0  只要反饋邏輯 ci 確定,寄存器產(chǎn)生的序列就確定了。n 級(jí)移位寄存器產(chǎn)生的
    發(fā)表于 06-20 04:20

    線性反饋移位寄存器(LFSR)在FPGA中究竟是如何起作用的

    的輸出用作反饋移位寄存器鏈的開頭,因此用作LFSR中的反饋。當(dāng)LFSR運(yùn)行時(shí),各個(gè)觸發(fā)生成的模式是
    發(fā)表于 08-20 09:13

    學(xué)習(xí)筆記 | 基于FPGA的隨機(jī)數(shù)發(fā)生(附代碼)

    移位寄存器(Linear Feedback Shift Register, LFSR)來實(shí)現(xiàn)隨機(jī)數(shù)發(fā)生。線性
    發(fā)表于 04-21 19:42

    隨機(jī)數(shù)發(fā)生的FPGA實(shí)現(xiàn)與研究

    摘要:在很多實(shí)際應(yīng)用中,直接利用FPGA 產(chǎn)生隨機(jī)序列的方法可以為系統(tǒng)設(shè)計(jì)或測試帶來極大的便利。本文給出了基于線性反饋移位寄存器電路,并結(jié)
    發(fā)表于 07-22 15:12 ?0次下載

    線性移位寄存器

    線性移位寄存器移位寄存器可以構(gòu)成序列信號(hào)發(fā)生,其電路結(jié)構(gòu)如下圖所示。組合電路從移位寄存器取得信息,產(chǎn)生
    發(fā)表于 01-12 14:14 ?1992次閱讀
    <b class='flag-5'>線性</b><b class='flag-5'>移位寄存器</b>

    移位寄存器,移位寄存器是什么意思

    移位寄存器,移位寄存器是什么意思 移位寄存器_
    發(fā)表于 03-08 14:50 ?1.8w次閱讀

    寄存器移位寄存器

    寄存器移位寄存器:介紹寄存器原理和移位寄存器的原理及實(shí)現(xiàn)。
    發(fā)表于 05-20 11:47 ?0次下載

    為max765x微處理隨機(jī)數(shù)生成程序

    擴(kuò)頻通信、安全、加密和調(diào)制解調(diào)等應(yīng)用需要隨機(jī)數(shù)的產(chǎn)生。實(shí)現(xiàn)一個(gè)隨機(jī)數(shù)發(fā)生的最常用的方法是一個(gè)線性反饋
    發(fā)表于 04-12 09:50 ?1次下載
    為max765x微處理<b class='flag-5'>器</b>的<b class='flag-5'>偽</b><b class='flag-5'>隨機(jī)數(shù)</b><b class='flag-5'>生成</b>程序

    線性反饋移位寄存器原理與實(shí)現(xiàn)

    線性反饋移位寄存器(LFSR)是一個(gè)產(chǎn)生二進(jìn)制位序列的機(jī)制。這個(gè)寄存器由一個(gè)初始化矢量設(shè)置的一系列信元組成,最常見的是,密鑰。這個(gè)寄存器的行
    發(fā)表于 12-22 09:37 ?4.9w次閱讀
    <b class='flag-5'>線性</b><b class='flag-5'>反饋</b><b class='flag-5'>移位寄存器</b>原理與實(shí)現(xiàn)

    基于matlab的移位寄存器法m序列的產(chǎn)生

    很多領(lǐng)域中都有重要應(yīng)用。 由n級(jí)移位寄存器所能產(chǎn)生的周期最長的序列。這種序列必須由非線性移位寄存器產(chǎn)生,并且周期為2n(n為移位寄存器的級(jí)數(shù))。
    發(fā)表于 12-22 11:14 ?1w次閱讀
    基于matlab的<b class='flag-5'>移位寄存器</b>法m序列的產(chǎn)生

    移位寄存器怎么用_如何使用移位寄存器_移位寄存器的用途

    移位寄存器是一個(gè)具有移位功能的寄存器,是指寄存器中所存的代碼能夠在移位脈沖的作用下依次左移或右移。本文主要介紹了
    發(fā)表于 12-22 15:49 ?2w次閱讀

    移位寄存器的原理

    移位寄存器按照不同的分類方法可以分為不同的類型。 如果按照移位寄存器移位方向來進(jìn)行分類, 可以分為左移移位寄存器、移位寄存器和雙向
    發(fā)表于 07-15 09:38 ?7.5w次閱讀
    <b class='flag-5'>移位寄存器</b>的原理

    線性反饋移位寄存器原理

    線性反饋移位寄存器(LFSR):通常由移位寄存器和異或門邏輯組成。其主要應(yīng)用在:隨機(jī)數(shù)
    的頭像 發(fā)表于 07-22 09:37 ?4198次閱讀

    MAX765x微處理隨機(jī)數(shù)生成例程

    擴(kuò)頻通信、安全、加密和調(diào)制解調(diào)等應(yīng)用需要生成隨機(jī)數(shù)。實(shí)現(xiàn)隨機(jī)數(shù)發(fā)生的最常見方法是線性
    的頭像 發(fā)表于 03-01 15:28 ?721次閱讀
    MAX765x微處理<b class='flag-5'>器</b>的<b class='flag-5'>偽</b><b class='flag-5'>隨機(jī)數(shù)</b><b class='flag-5'>生成</b>例程

    線性反饋移位寄存器輸出序列怎么算

    的工作原理、輸出序列的計(jì)算方法以及其在不同領(lǐng)域中的應(yīng)用。 首先,我們來了解線性反饋移位寄存器的基本結(jié)構(gòu)和工作原理。LFSR是一種特殊的移位寄存器,由多個(gè)觸發(fā)
    的頭像 發(fā)表于 02-03 11:09 ?2793次閱讀