Dlinyj (dlinyj) wrote,
Dlinyj
dlinyj

Categories:

Первые результаты генератора случайных чисел на дозиметре.

Этот пост больше похож на поток новогоднего сознания, нежели на сверхнаучный трактат и полезную информацию. alex_avr2 может этот пост вообще смело пропускать.

У меня уже более 12 дней трудится и логит мой генератор случайных чисел, в серверной, которая запрятана в плите. За это время он налогал 1,7 гига сырых данных. Файл выглядит примерно вот так:


...
577693
2013.01.01.21.27.06.
2133187
125195
...
277038
202675
2013.01.01.21.27.07.
...

Где длинные строки - это, как можно догадаться, дата в хитром формате: ГГГГ.ММ.ДД.ЧЧ.ММ.СС. . Почему так, не спрашивайте, примерно ответ следующий: нет ничего более постоянного, чем временное. Время выводится ровно каждую секунду. Цифирки - это количество тиков процессора между регистрацией заряженных частиц. Процессор работает примерно на частоте 80 МГц, по сему это очень малые значения.

Файлик можно скачать тута (1,7 ГБ)


Мне было лениво делать обработку конкретно по интервалам (которая подчиняется экспоненциальному распределению) , и я сделал просто обработку событийную (которая подчиняется распределению Пуассона) . Надо отметить, что при таких количествах можно пренебречь распределением Пуассона и считать онное распределение нормальным.

Небольшую программу, которая тупо считает количество событий между временными точками и формирует файл результата. Если отбросить инициализацию переменных, девайны, открытие файлов, то она сводится к следующему:

while(!feof(fp_datafile))
    {
        i=0;
        while(!feof(fp_datafile))
        {
            fscanf(fp_datafile, "%s", exchange_buff);
            if (strrchr(exchange_buff,'.')==NULL) rad_counter++;
            else {
                fprintf(fp_math,"%s\t%d\n",exchange_buff, rad_counter);
                rad_counter=0;
            }
            
            i++;

        }

    }


Читает построчно файл, проверяет есть ли в строке символ '.', если есть, производит запись в файл время и количество вхождений.

После чего, полученный файл можно построить с помощью скрипта

#! /usr/bin/gnuplot -persist
#set terminal postscript eps enhanced color solid
#set output "result.ps"

set terminal png size 800, 600
set output "result.png"
set grid xtics ytics

set xlabel "Time" 
set ylabel "Counter" rotate by 90

set xdata time
set timefmt x "%Y.%m.%d.%H.%M.%S."
set xtics rotate by 270
set xrange ["2012.12.19.23.11.50.":"2013.01.01.21.27.07."]

set style line 1 lt 1 lw 1

plot "math_t.dat" using 1:2 title "График \"тиков\" в секунду" with lines linestyle 3




И получить следующую картинку:


Результирующий шум, распределённый по закону Пуассона


Если бы я был работником RenTV, то я бы озадачился Поиском грубинного смысла в этом графике. Но пока его там нет. И как видно из дат, никаких безумных всплесков в указанные числа не произошло. Но! Если их не видно на глаз, а я не питал иллюзий, что будет всё так просто, это не значит, что распределение в эти моменты ведёт себя как-то не так. Вот тут нужно подключить матан.

Для начала надо будет посчитать математическое ожидание, положим 60 точек (т.е. за минуту), потом взять медианное значение этого математического ожидания (например 10 минут), и потом уже попробовать построить такой график. Говоря более простым языком, я хочу отфильтровать математическое ожидание, чтобы получить более гладкую кривую, а не такой фаршмак.


З.Ы. ЖЖ вечно лежит, хоть переходи на автономный блог. У меня есть такой http://dlinyj.ru , но я не являюсь его хозяином, и его сделал мой друг. Зная моего товарища, не ровен час и эта петрушка перестанет работать. Есть ли советы?
Tags: Генератор случайных чисел, Дозиметр, Лытыбр, Тервер
Subscribe

  • Чатик для общения

    Дорогие друзья, я понял что требуется место для общения. Много людей пишут в личных сообщениях, и хотят обсуждать разные штуки со мной или нет.…

  • Всё что в интернете - вам не принадлежит.

    Всё, сервис вконтакте окончательно сдулся. Спасибо что ты был, мы будем помнить тебя хорошим, но увы, смерть пришла слишком быстро но пора искать…

  • PHEM: The Palm Hardware Emulator M68k for Android

    Ностальгия по былым временам, иной раз не даёт увидеть удивительные новые открытия. Но тем не менее, я с большим теплом отношусь к старому железу,…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 11 comments

  • Чатик для общения

    Дорогие друзья, я понял что требуется место для общения. Много людей пишут в личных сообщениях, и хотят обсуждать разные штуки со мной или нет.…

  • Всё что в интернете - вам не принадлежит.

    Всё, сервис вконтакте окончательно сдулся. Спасибо что ты был, мы будем помнить тебя хорошим, но увы, смерть пришла слишком быстро но пора искать…

  • PHEM: The Palm Hardware Emulator M68k for Android

    Ностальгия по былым временам, иной раз не даёт увидеть удивительные новые открытия. Но тем не менее, я с большим теплом отношусь к старому железу,…