如何产生随机数在PIC?

J

jcding1980

Guest
嗨。任何人都知道如何产生的随机数在PIC?我想使用计时器,以增加一个计数器,计数器的值,我做一些操作,争夺在计数器的值。它导致的数目是随机的呢?或有人得到了更好的方法或想法去做?感谢。
 
你可以使用一些polinom产生RND的数量(随时更改开始=>类似的CRC值)。 Mr.Cube
 
你需要真正的随机数或只是伪随机?对于第二种情况,可以使用LFSR的看起来类似随机数生成的长序列。好主意是长于要求的范围内随机数的LFSR。例如,获得32位LFSR,将它转变为每一次新的电话号码为32位,并得到一个随机的低16位。对于第一种情况下,您将需要外部硬件连接到您的UC。有关详细信息,请在此年龄:H ** P:/ / wezm.net / PIC / proj_rand.html
 
我设计了一个彩票号码生成器。我设置自由运行的Timer1,当我按下一个按钮时,我读寄存器的值(从0到65535),我的一个因素划分这最后的数字,以获得所需的范围内,显示器上显示它。由于计数器永远不会停止,按下按钮,用户不知道或没有控制在点票,甚至是非常快的,因为点票。
 
嗨。其实产生伪随机数,在我的代码是足够的。但问题是,如何测试是否被认为是随机产生的数字呢? [SIZE = 2] [颜色=#999999] 3分钟后添加:[/彩色] [/SIZE]喜rkodaira。你用来产生随机数的方法是什么我目前没有十分相似。但它是真正的随机不够?到目前为止,从我的代码我觉得这是很随机的。但我只有为数不多的产生几十采样。请评论。感谢。
 
[报价= jcding1980]其实产生伪随机数在我的代码是足够的。但问题是,如何测试是否被认为是随机产生的数字呢? [/QUOTE]有一个非常漂亮的随机性测试。这就是所谓的死硬。你可以自由地为不同的平台,在这里下载: http://stat.fsu.edu/pub/diehard/
 
[报价=这里介绍IanP] Interestig使用外部的“白色噪音”发生器产生随机数的方法是:H ** P:/ / willware.net:8080/hw-rng.html [/QUOTE]一样IanP说,白噪声随机值是唯一可靠的消息来源。一切是不是真正的随机。
 
[报价= traxonja]一样IanP说,白噪声是随机值的唯一可靠来源。一切是不是真正的随机[/QUOTE]这是想:嘿,伙计们! 2 +2 = 4!白噪声,其性质是随机的。此外,任何真正的随机源产生白噪声!主要的问题是从哪里得到这种真正的白噪声源。以及如何评估这种白噪声真的是“白”(真正的随机)。无论如何,看起来像伪随机发生器具有良好的随机性确定为 jcding1980 的项目。为此,我建议加入几个LFSRs停止和去计划或使用Gollman计划。他们在流密码中使用的,所以他们的随意性是相当不错的的。
 
jcding1980问:> HI rkodaira。 >你用来产生随机数的方法是我>目前颇为相似。但它是真正的随机不够? >到目前为止,从我的代码,我觉得这是很随机的。但我只抽取>数数产生数万。请评论。您好JC!如果你认为这一代是“控制”的用户,它是不是纯随机的。但我认为,没有人类的bean可以按下按钮来获取所需的OU感知机制或时间做如此,因为票是如此之快。此外,当你一个数字除以计数时,我必须承认,有些数字可能有不同的概率发生,但在最低水平的差异。我用这个方法,因为它很简单,不需要任何额外的硬件也不是非常复杂的算法程序。我已经测试了我的发电机,它能够生成所有的数字从0到99(重复发生时,它开始,我再次在EEPROM中的标志来标记已经产生这些数字)。
 
你认为考虑物流的地图? cahotic功能吗?也许你可以考虑两个不同的(伪)地图之间的差异。它只有一个想法,我不知道它是否为真正的随机数。
 

Welcome to EDABoard.com

Sponsor

Back
Top