2014-10-20 2 views
1

На стр. 3 «Лекция 8, белый шум и спектральная плотность мощности» упоминается, что rand и randn создают псевдослучайные числа. Пожалуйста, исправьте меня, если я ошибаюсь: последовательность случайных чисел - это то, что для одного и того же семени, две последовательности никогда не являются точными.Правильный способ генерации случайных чисел

Принимая во внимание, что псевдослучайные числа детерминированы, то есть две последовательности одинаковы, если они генерируются из одного и того же семени.

Как создать случайные числа, а не псевдослучайные числа, так как у меня создалось впечатление, что функции Matlab rand и randn используются для генерации идентично независимых случайных чисел? Но в слайдах упоминается, что они создают псевдослучайные числа. Google для создания случайных чисел возвращает rand и randn() функции.

Причиной отличия случайных чисел от псевдослучайных чисел является то, что мне нужно сравнить производительность криптографии (А) с характеристиками белого шума и (В) псевдослучайным сигналом с характеристикой белого шума. Итак, (A) должно отличаться от (B). Буду благодарен за любой код и правильный способ генерации случайных чисел и псевдослучайных чисел.

+0

Является ли это не командой 'rand (n)' randomGenerator = rand (2) ' – KRUKUSA

+7

Я не думаю, что можно генерировать фактические случайные числа с помощью программного обеспечения ... генераторы psuedo-random сигналов в Matlab будут иметь характеристики белого шума, и большинство статистических программных симуляций используют псевдо-случайные числа. Итак, 'rand' и' randn' * являются * правильными способами генерации случайных чисел в Matlab. – Dan

+1

Вам нужно использовать «истинный» RNG или псевдо RNG или псевдо RNG или квазислучайный RNG? – Kostya

ответ

1

Как уже упоминалось выше, действительно сложно (возможно, невозможно) создавать реальные случайные числа с помощью компьютерного программного обеспечения. В Интернете есть множество проектов, которые предоставляют реальные случайные числа, которые генерируются физическими процессами (например, упомянутый Костя). Особо интересным является this от HU Berlin.

Это говорит о том, что для экспериментов, подобных тем, которые вы хотите выполнить, псалты из мальтийского пседо более чем прекрасны. Алгоритмы Matlab включают Mersenne Twister, который является одним из самых известных псевдо RNG (я бы предложил вам google свойства Mersenne Twister). См. Документацию Maltab rng here.

Поскольку вы не указали, какой тип системы вы хотите имитировать, одним простым подходом к решению вашей проблемы будет использование хорошего RNG (Mersenne Twister) для процесса A и не очень хорошего для процесса B.

+0

Благодарим вас за указание алгоритма, который Matlab использует для Psuedo RNG. – SKM

+0

В этой статье «Идентификация нелинейной системы: сравнение PRBS и случайного гауссова возмущения на пилотной установке паровой дистилляции, 2013 IEEE 3-я международная конференция по системной инженерии и технологии, 19-20 августа 2013 г., Малайзия» Авторы сравнивают производительность между случайными гауссовскими белыми сигнал и псевдослучайную двоичную последовательность. Следовательно, может быть способ генерировать случайный гауссовский сигнал и псевдослучайное из rand(), randn(). Я в дилемме. Можете ли вы предложить вам выход из этого? – SKM

+0

@SKM, к сожалению, бумага платная, я не могу ее прочитать. Взгляните на эту функцию matlab [awgn] (http://www.mathworks.com/help/comm/ref/awgn.html?refresh=true). Надеюсь, поможет. – gire

3

Генерация «истинных» случайных чисел - это сложное упражнение, вы можете проверить Википедию на RNG и тесты случайности (http://en.wikipedia.org/wiki/Random_number_generation). Эта ссылка предлагает RNG, основанный на атмосферном шуме (http://www.random.org/).

+0

+1 для http: //www.random .org/Я думаю, что подача веб-сервиса, который предлагает TRNG, является единственной альтернативой покупке оборудования, посвященного задаче. – Dan

+0

@ Kostya: в ссылке, которую вы предоставили, с правой стороны есть инструмент, который выводит одно случайное число между определенным диапазоном. Что мне делать, чтобы получить временные ряды случайных чисел? – SKM

+1

@SKM: посмотрите в разделе «Числа» на веб-странице, там есть пара опций. – Kostya

Смежные вопросы