在"第8讲第3页,白噪声和功率谱密度"提到rand
和randn
创建伪随机数。如果我错了,请纠正我:随机数序列是对于同一种子,两个序列永远不会真正准确的。
然而,伪随机数是确定性的,即,如果从相同的种子生成,则两个序列是相同的。
我怎么能创建随机数而不是伪随机数,因为我认为Matlab的rand
和randn
函数用于生成相同的独立随机数?但是,幻灯片提到他们创建伪随机数。谷歌搜索创建随机数返回rand
和randn()
函数。
将随机数与伪随机数区分开的原因是我需要将密码学(A)随机性与白噪声特性的性能和(B)具有白噪声特性的伪随机信号进行比较。因此,(A)必须与(B)不同。我将不胜感激任何代码和生成随机数和伪随机数的正确方法。
答案 0 :(得分:3)
生成“真实”随机数是一项棘手的练习,您可以查看RNG上的维基百科和随机性测试(http://en.wikipedia.org/wiki/Random_number_generation)。此链接提供基于大气噪声(http://www.random.org/)的RNG。
答案 1 :(得分:1)
如上所述,使用计算机软件创建真正的随机数非常困难(可能是不可能的)。互联网上有许多项目提供由物理过程生成的真实随机数(例如Kostya提到的那个)。一个特别有趣的是来自HU Berlin的this。
话虽如此,对于像你想要表演的那样的实验,马耳他的psedo RNG还不错。 Matlab的算法包括Mersenne Twister,它是最着名的伪RNG之一(我建议你谷歌Mersenne Twister&#39的属性)。请参阅Maltab rng文档here。
由于您没有提到要模拟的系统类型,解决问题的一种简单方法是使用良好的RNG(Mersenne Twister)进行流程A,对流程B使用不太好的<。 / p>