Мегаобучалка Главная | О нас | Обратная связь


Создание и оценка качества программно-аппаратных генераторов псевдослучайных чисел средствами VBA.



2019-11-13 350 Обсуждений (0)
Создание и оценка качества программно-аппаратных генераторов псевдослучайных чисел средствами VBA. 0.00 из 5.00 0 оценок




СОЗДАНИЕ И ОЦЕНКА КАЧЕСТВА ПРОГРАММНО-АППАРАТНЫХ ГЕНЕРАТОРОВ ПСЕВДОСЛУЧАЙНЫХ ЧИСЕЛ СРЕДСТВАМИ VBA.

 

Методическое руководство к лабораторной работе № 3 и №6  по курсу «Информатика»

для направления 11.03.03 «Конструирование и технология электронных средств» по профилю «Проектирование и технология радиоэлектронных средств»

 

                   Составитель: О. Я. Шамсиахметов

 

Издательство ИжГТУ

имени М. Т. Калашникова Ижевск 2019


 

УДК 004.43

 

             Рецензент

С.В.Клишин, канд. физ.-мат. наук, доцент

П.А.Ушаков, доктор техн. наук, профессор

 

      Составитель

О.Я.Шамсиахметов, старший преподаватель

Рекомендовано к изданию на заседании кафедры «Конструирование радиоэлектронной аппаратуры» ИжГТУ имени М. Т. Калашникова (протокол № 60 от 16.01.2019 г.).

 

Создание и оценка качества программно-аппаратных генераторов псевдослучайных чисел средствами VBA:методическое руководство к. лаб. раб. № 3 / сост.: О.Я.Шамсиахметов. − Ижевск : Изд-во ИжГТУ имени М. Т. Калашникова, 2019. − 57 с.

 

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

 

 

УДК 004.43

 

© ИжГТУ имени М. Т. Калашникова, 2019

 

© Шамсиахметов О.Я., составление, 2019


                                Лабораторная работа №3

Создание и оценка качества программно-аппаратных генераторов псевдослучайных чисел средствами VBA.

 

                                            Краткая теория.

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

Последовательность цифры в числе p считается случайной. Пусть генератор основывается на выводе бит представления числа p, начиная с какой-то неизвестной точки. Такой генератор, возможно и пройдет «тест на следующий бит», так как p, видимо, является случайной последовательностью. Однако этот подход не является надежным — если аналитик определит, какой бит числа p используется в данный момент, он сможет вычислить и все предшествующие и последующие биты.
Данный пример накладывает ограничение на генераторы случайных чисел. Аналитик не должен иметь возможности предсказать работу генератора случайных чисел.

Источники энтропии используются для накопления энтропии с последующим получением из неё начального значения (initial value, seed), необходимого генераторам случайных чисел (ГСЧ) для формирования случайных чисел. Генератор псевдослучайных чисел (ГПСЧ) использует единственное начальное значение, откуда и следует его псевдослучайность, а ГСЧ всегда формирует случайное число, имея в начале высококачественную случайную величину, предоставленную различными источниками энтропии.
Энтропия – это мера беспорядка.

Информационная энтропия — мера неопределённости или непредсказуемости информации.
Поэтому :

                          ГСЧ = ГПСЧ + источник энтропии.

Недостатки ГПСЧ :

1. Предсказуемая зависимость между числами.

2. Предсказуемое начальное значение генератора.

3. Малая длина периода генерируемой последовательности случайных чисел, после которой генератор зацикливается.

 

 

                            Линейный конгруэнтный ГПСЧ .


     Многие языки программирования, например VB , VBA , C, C++ , Java, используют линейный конгруэнтный ГПСЧ.

Линейный конгруэнтный метод заключается в вычислении членов линейной рекуррентной последовательности по модулю некоторого натурального числа m, задаваемой следующей формулой:

 

                                     Xk+1=(a*Xk+b)mod  m

где a, b, m— некоторые целочисленные коэффициенты. Получаемая последовательность зависит от выбора стартового числа (seed) Xk  и при разных его значениях получаются различные последовательности случайных чисел. Период такого генератора не больше, чем m.

Если a, b и m подобраны правильно, то генератор будет генератором с максимальным периодом, и его период будет равен m. Например, для линейного конгруэнтного генератора b должно быть взаимно простым с m.
Для выбора коэффициентов имеются свойства позволяющие максимизировать длину периода (максимальная длина равна  m ), то есть момент, с которого генератор зациклится .

В таблице 1 приведены хорошие константы линейных конгруэнтных генераторов, которые обеспечивают максимальный период:

Переполняется при а b m
220 106 1283 6075
221 211 1663 7875
222 421 1663 7875
223 430 2531 11979
  936 1399 6655
  1366 1283 6075
224 171 11213 53125
  859 2531 11979
  419 6173 29282
  967 3041 14406
225 141 28411 134456
  625 6571 31104
  1541 2957 14000
  1741 2731 12960
  1291 4621 21870
  205 29573 139968
226 421 17117 81000
  1255 6173 29282
  281 28411 134456
227 1093 18257 86436
  421 54773 259200
  1021 24631 116640
  1021 25673 121500
228 1277 24749 117128
  741 66037 312500
  2041 25673 121500
229 2311 25367 120050
  1807 45289 214326
  1597 51749 244944
  1861 49297 233280
  2661 36979 175000
  4081 25673 121500
  3661 30809 145800
230 3877 29573 139968
  3613 45289 214326
  1366 150889 714025
231 8121 28411 134456
  4561 51349 243000
  7141 54773 259200
232 9301 49297 233280
  4096 150889 714025
233 2416 374441 1771875
234 17221 107839 510300
  36261 66037 312500
235 84589 45989 217728

       

      Таблица 1. Константы для линейных конгруэнтных генераторов

      

Если инкремент b равен нулю, то есть генератор имеет вид:

 

                               Xk+1=(a*Xk)mod m

 

и мы получим самую простую последовательность, которую можно предложить для генератора с равномерным распределением. При соответствующем выборе констант a = 75 = 16807 и m = 231‑1 = 2147483647 получим генератор с максимальным периодом повторения. Эти константы были предложены учеными Парком и Миллером, поэтому генератор вида :

 

                              Xk+1=(75*Xk)mod 231-1

 

называется генератором Парка-Миллера.

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

Квадратичный конгруэнтный генератор имеет вид:

 

                           Xk+1=(a*X2K+b XK+c) mod m

Кубический конгруэнтный генератор задается как:

 

                        Xk+1=(a*X3K+b X2K +c XK+d) mod m

Для увеличения размера периода повторения конгруэнтных генераторов часто используют их объединение . При этом криптографическая безопасность не уменьшается, но такие генераторы обладают лучшими характеристиками в некоторых статистических тестах.

 

                           Аддитивные генераторы .

Аддитивные генераторы (называемые иногда запаздывающими генераторами Фиббоначи) очень эффективны, так как их результатом являются случайные слова, а не биты.

Начальное состояние генератора представляет собой массив n-битовых слов X1,X2,X3, …,Xm. Это первоначальное состояние и является ключом   .

i-е слово генератора получается как:

 

                   Xi=(Xi-a+Xi-b +Xi-c+...+ Xi-m) mod 2m

При правильном выборе коэффициентов a,b,c, …,m период этого генератора не меньше 2m-1. Для этого должно выполнятся условие взаимной простоты коэффициентов a,b,c, …,m. Например, если а = 55, а b = 24, то мы получим аддитивные генератор с максимальным периодом повторения вида:

 

                                Xi=(Xi-55+Xi-24) mod 2m

 

Существует несколько модификаций аддитивных генераторов.

 

                          Распределения случайных величин.


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

Распределению Гаусса подчиняются различные величины. Например, стрельба по мишени – пули будут ложится в мишень по распределению Гаусса. Наиболее кучно в десятку и наименее- по краям. Разумеется, электрический шум (если он не вызван наводкой электрической сети), тоже будет подчиняться этому распределению.

Одна из особенностей распределения Пуассона является то, что случайная величина является дискретной. Самой лучшей иллюстрацией событий распределения Пуассона могут быть звонки в какой-нибудь телефонный центр поддержки. Количество звонков поступивших за единицу времени будет случайной величиной.
Распределению Пуассона подчиняются так же и регистрация радиоактивных частиц с помощью дозиметров.

Самое ценное распределение, с точки зрения программиста – это равномерное распределение. Когда случайные числа любой длины, встречаются одинаково часто на всём заданном диапазоне.

 

    Другие типы распределений представлены на рисунке 1:


Рис 1. Основные типы распределения случайных величин.

 

Следует помнить, что есть специальные методы и приемы для поиска зависимостей в последовательности чисел.
Одним из известных тестов является тест на следующий бит — тест, служащий для проверки генераторов псевдослучайных чисел. Тест гласит, что не должно существовать полиномиального алгоритма, который, зная первые k битов случайной последовательности, сможет предсказать k+1 бит с вероятностью большей ½.
Отдельной проблемой является определение того, насколько последовательность чисел или бит, сгенерированных генератором, является случайной.

Как правило, для этой цели используются различные статистические тесты, такие как DIEHARD или NIST.

Эндрю Яо в 1982 году доказал, что генератор, прошедший «тест на следующий бит», пройдет и любые другие статистические тесты на случайность, выполнимые за полиномиальное время.

 

 

           А ппаратный генератор случайных чисел .


Дата рождения, смерти, одарённость, выигрыш в лотерею, билет на экзамене и т. д. — всё это случайные события. Однако оглядываясь на наш мир, замечаем, что случайностей не бывает. Учёные говорят: случайность – это не исследованная закономерность.
Для различных инженерных и вычислительных задач требуется поиск случайных чисел. Причём, чем выше энтропия числа, чем ниже его закономерность и предсказуемость, тем лучше. В программировании применяют функцию генератора случайных чисел. На самом деле, все эти числа псевдослучайны. Они могут вычисляться по очень сложному алгоритму, или вообще представлять собой «слепок» случайных шумов системы. Но всё же эти случайные числа предсказуемы. Самый очевидный способ получения случайных чисел, это брать их извне. Реальный мир — это громадный генератор случайных величин. Конечно же все эти величины тоже псевдослучайны, но их закономерности и взаимозависимости проследить невозможно, из-за бесконечного количества вариантов происходящих событий. Нельзя рассматривать случайные числа, как числа,  появляющиеся в замкнутой системе, поскольку на них идёт влияние бесконечного множества внешних факторов. Тогда, получается ,что каждое событие совершенно не случайно и имеет свою закономерность. Просто учесть все взаимосвязи (количество неограничено), невозможно, поэтому для простоты принимают многие события случайными.
    Программисты с радостью бы использовали полностью случайные числа для генерации , но не знали, как их получить. Причина в том, что цифровые компьютеры всегда находятся в точно определённом состоянии, которое меняется только при поступлении определённой команды от программы. Самое лучшее, что вы можете сделать — эмулировать случайность, генерируя так называемые псевдослучайные числа с помощью специальной математической функции. Набор таких чисел на первый взгляд выглядит полностью случайным, но кто-нибудь другой с помощью такой же процедуры может легко сгенерировать в точности такие же числа.
     Исследователям удалось изобрести генераторы псевдослучайных чисел, которые признаны надёжными. Но их нужно запускать с качественного случайного начального значения (random seed), иначе они всегда сгенерируют один и тот же набор чисел. И для этого начального значения вам нужно нечто такое, что действительно невозможно подобрать или предсказать.
   К счастью, несложно получить действительно непредсказумые значения, используя хаотическую вселенную, которая со всех сторон окружает строго детерминированный мир компьютерных битов.
Например, в онлайне работает источник случайных чисел под названием Lavarand. Он был создан в 1996 году для автоматической генерации случайных значений путём обработки фотографий декоративного светильника — лавовой лампы (перетекающие в сосуде капли цветного масла под действием тепла нагретой лампы) , которая непредсказуемым образом меняет облик каждую секунду. С тех пор случайными значениями из этого источника воспользовались более миллиона раз.
     Есть и более изощрённые аппаратные генераторы случайных чисел, которые регистрируют квантовые эффекты, например, удары фотонов в зеркало. Можно на самом обычном компьютере получить случайные числа путём регистрации непредсказуемых событий, таких как точное время нажатия на кнопки клавиатуры. Но чтобы получить большое количество таких случайных значений, придётся нажать много раз.
     Наиболее простой способ получения случайных чисел – это снятие шумов со звуковой карты компьютера. При чём, чем хуже звуковая карта, тем лучше она шумит. В качестве дополнительного источника шума можно подключить любой радиоприёмник, настроенный на шум, к линейному входу звуковой карты.
   Тепловой шум в полупроводниках, обусловленный тепловым движением атомов, является самым распространенным источником случайных чисел.
Случайные величины колеблются возле какого-то одного значения (математического ожидания этой величины).

Если снять несколько тысяч случайных точек, найти максимальное и минимальное значение, которое принимает случайная величина, взять интервал от минимального значения, которое принимает случайная величина, до максимального значения, которое может принимать случайная величина, разбить этот интервал на равные интервалы и посчитать, сколько случайных величин попадёт в каждый интервал, то получим диаграмму распределения случайной величины.

Величина рассеяния случайного события определяется дисперсией (мерой рассеивания). Данный способ построения диаграммы рассеяния случайной величины называется интервальным. Он основан на разбиении исходных численных значений на интервалы.

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

Имеется электрический сигнал от какого-то источника, несущий информацию о звуке. Сигнал поступает в аналоговую часть звуковой карты, где он усиливается, чтобы соответствовать динамическому диапазону АЦП (аналогово-цифрового преобразователя). Сигнал оцифровывается на АЦП с определенными разрешением и частотой дискретизации и поступает в цифровую часть аудиокарты откуда его уже можно получить программно.
    Как известно, любой аналоговый электрический сигнал неизбежно содержит шум, компоненты шума можно примерно разделить на несколько категорий:

1. радиопомехи и наводки от соседних устройств и радиоэфира,

2. помехи электропитания.

3. тепловой шум случайного движения электронов в компонентах электрической схемы .
Если случайность помех и питания вопрос спорный, то третий тип шума чисто квантовый и истинно случайный.
    Каково влияние шума на цифровую часть звуковой карты? Опыты показали, шум проникает проникает в выходной цифровой сигнал, отражаясь в младших битах оцифровки. Поэтому шум можно выделить, оцифровать и сохранить.
В режиме записи при уровне квантования 16 бит случайную информацию несет только младшие биты из каждого сэмпла.
 Алгоритм работы аппаратного генератора случайных чисел:

1. В течении некоторого времени с частотой дискретизации 44100 Гц записываются данные типа integer c одного входного канала (левого или правого) звуковой карты методом импульсно-кодовой модуляции (ИКМ).

2 Данные записываются (сохраняются) в выходной файл в  формате WAV (Windows Audio Video).
  3. Данные файла звукозаписи обрабатываются с целью выделения младших битов семплов (единичных кодированных амплитуд звукового сигнала)

4. Подсчитываются значения по интервалам диапазона случайных чисел.

5.  Строится диаграмма распределение случайных величин.

 Записывать можно без внешнего сигнала, просто «тишину», младшие биты всё равно получают случайные значения. Делая запись без внешнего сигнала (источника), мы получаем характеристики шума естественно присутствующего в цепях аудиокарты. Другим вариантом может быть запись какого либо сигнала, тогда шум будет проявляться в ошибках оцифровки младших битов.
Ошибки оцифровки есть всегда, с другой стороны «нулевой» шум сильно зависит от физического устройства аудиокарты и может не проявляться на некоторых моделях.
Для правильной работы программы нужно настроить звуковую карту:

1. Выбираем микрофонный вход,

2. Выставляем громкость на максимум

3. Снимаем флажок «Выключить».

Можно подключить к линейному входу звуковой карты радиоприёмник, тогда вместо микрофонного входа можно использовать линейный вход.
Микрофон должен быть отключен от входа звуковой карты. Можно зашунтировать микрофонный вход сопротивлением равным сопротивлению микрофона.
   Для программиста нужны числа, имеющие равномерное распределение. В данном случае у нас распределение нормальное, где число колеблется вокруг математического ожидания (уровень нуля сигнала). Чтобы получать числа, необходимые нам, надо брать младшие четыре бита числа. Эти четыре бита будут принимать совершенно случайное значение. И эти четыре бита укладывать в число необходимой длины.
Генерация случайных чисел таким способом относительно медленная. Его тормозит скорость чтения данных со звуковой карты. Но в некоторых, не критичных к скорости выполнения, задачах, данное решение оправдано.

 

 

              Структура WAV (Windows Audio Video) файла .

 

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

Поскольку формат WAV-файла пришел от операционной системы Windows, в которой традиционно использовались процессоры Intel, все значения данных формата хранятся как Little-Endian, т. е. самый младший значащий байт идет первым (в Big - Endian старший байт идет первым).

WAV-файл использует стандартную RIFF-структуру (Resource Interchange File Format формат файла для обмена ресурсами), которая группирует содержимое файла из отдельных секций (chunks) - формат выборок аудиоданных, аудиоданные, и т. п. Каждая секция имеет свой отдельный заголовок секции и отдельные данные секции. Заголовок секции указывает на тип секции и количество содержащихся в секции байт. Такой принцип организации позволяет программам анализировать только необходимые секции, пропуская остальные секции, которые не известны или которые не требуют обработки. Некоторые определенные секции могут иметь в своем составе подсекции (sub-chunks).

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

Важно понять, что формат RIFF не описывает конкретный формат данных; практически файл в RIFF-формате может содержать любые мультимедиа-данные, причем формат конкретных данных зависит от типа этих данных (RIFF является скорее стандартом описания контейнера данных).

Обозначенная как ‘Данные’ область может содержать внутри себя другие фрагменты. Для содержащего звуковые данные файла (WAV-файл) эта область содержит идентификатор данных ‘WAVE’, фрагмент формата звуковых данных ‘fmt’ (три символа ‘fmt’ и пробел в конце), а также фрагмент звуковых данных.

Файл может дополнительно содержать фрагменты других типов, поэтому не следует предполагать, что заголовок WAV-файла имеет фиксированный формат. Например, в формате могут присутствовать фрагменты ‘LIST’ или ‘ABOUT’, содержащие информацию о правах копирования и описание самого мультимедиа-файла.

Означенная  как ‘Формат данных’ область описывает звуковые данные.

  Рассмотрим файл мультимедиа с расширением .wav ( Windows PCM ( pulse code modulation )).

Он состоит из двух частей:

           1. заголовок файла

           2. область данных.

В заголовке файла хранится информация о:

1. размере файла.

2. количестве каналов.

3. частоте дискретизации.

4. количестве бит в сэмпле (глубина звучания).

 

Звук состоит из колебаний, которые при оцифровке приобретают ступенчатый вид. Этот вид обусловлен тем, что компьютер может воспроизводить в любой короткий промежуток времени звук определенной амплитуды (громкости). Продолжительность промежутка определяется частотой дискретизации (количество отсчетов в секунду).

Например, имеется файл с частотой дискретизации 44.1 kHz, это значит, что короткий промежуток времени равен 1/44100 секунды (следует из размерности величины Гц = 1/с). Современные звуковые карты поддерживают частоту дискретизации до 192 kHz.

От амплитуды (громкости звука в коротком промежутке времени) зависит точность звука. Амплитуда выражается числом, занимаемым в памяти (файле) 8, 16, 24, 32,64 бит (теоретически можно и больше).

Как известно, 8 бит = 1 байт, следовательно, какая-то одна амплитуда в какой-то короткий промежуток времени в памяти (файле) может занимать 1, 2, 3, 4, 8 байт соответственно.

Таким образом, чем больше число занимает места в памяти (файле), тем больше диапазон значений для этого числа, а значит и для амплитуды.

1 байт – 0..255

2 байта – 0..65 535

3 байта – 0..16 777 216

4 байта – 0..4 294 967 296

В моно варианте значения амплитуды расположены последовательно.

В стерео варианте сначала идет значение амплитуды для левого канала, затем для правого, затем снова для левого и так далее.

Совокупность амплитуды и короткого промежутка времени носит название сэмпл.

 

Структура WAV файла следующая:

 

Местоположение Поле Описание
0..3 (4 байта)   chunkId   Содержит символы “RIFF” в ASCII кодировке (0x52494646 в big-endian представлении). Является началом RIFF-цепочки.
4..7 (4 байта) chunkSize   Это оставшийся размер цепочки, начиная с этой позиции. Иначе говоря, это размер файла – 8, то есть, исключены поля chunkId и chunkSize.
12..15 (4 байта) subchunk1Id Содержит символы “WAVE” (0x57415645 в big-endian представлении)
8..11 (4 байта)   format Содержит символы “fmt “ (0x666d7420 в big-endian представлении)
16..19 (4 байта)   subchunk1Size 16 для формата PCM. Это оставшийся размер подцепочки, начиная с этой позиции.
20..21 (2 байта)   audioFormat Аудио формат, полный список можно получить здесь. Для PCM = 1 (то есть,Линейное квантование).Значения, отличающиеся от 1, обозначают некоторый формат сжатия.
22..23 (2 байта)   numChannels Количество каналов. Моно = 1, Стерео = 2 и т.д.
24..27 (4 байта)   sampleRate Частота дискретизации. 8000 Гц, 44100 Гц и т.д.
28..31 (4 байта)   byteRate Количество байт, переданных за секунду воспроизведения.
32..33 (2 байта)   blockAlign Количество байт для одного сэмпла, включая все каналы.
  34..35 (2 байта)     bitsPerSample   Количество бит в сэмпле. Так называемая “глубина” или точность звучания. 8 бит, 16 бит и т.д.
36..39 (4 байта)   subchunk2Id Содержит символы “data” (0x64617461 в big-endian представлении)
40..43 (4 байта)   subchunk2Size Количество байт в области данных.
44..   data Непосредственно WAV-данные.

 

  Таблица 2. Структура WAV файла.

 

Длина заголовка составляет 44 байта, далее следует блок данных.

  Формат самих звуковых данных зависит от количества каналов и от дискретности.

Для монофонического сигнала с дискретностью 8 бит звуковые данные представляют собой массив однобайтовых значений, каждое из которых является выборкой сигнала.
Для стереофонического сигнала с дискретностью 8 бит звуковые данные имеют формат массива двухбайтовых слов, причем младший байт слова соответствует левому каналу, а старший -правому.
Формат звуковых данных с дискретностью 16 бит выглядит аналогично (для монофонического сигнала данные хранятся в массиве 16-битовых слов; для стереофонического используется массив двойных слов, причем младшему слову соответствует левый канал, а старшему -правый).
   Диапазон изменения значений выборок определяется дискретизацией. Для 8-битовых данных диапазон составляет от 0 до 255 (0xff), причем отсутствию сигнала (полная тишина) соответствует значение 128 (0x80); для 16-битовых значений диапазон изменения составляет от –32768 (-0x8000) до 32767 (0x7fff), отсутствию сигнала соответствует значение 0.

 

Общая структура WAV-файла представлена на рисунке 2:


 

          Рис. 2. Формат wav-файла.

 

Секция данных Wave (Wave Data Chunk) содержит данные цифровых выборок аудиосигнала, которые можно декодировать с использованием формата и метода компрессии, указанных в секции формата Wave (Wave Format Chunk). Если код компрессии 1 (несжатый PCM, Pulse Code Modulation), то данные представлены в виде сырых, непреобразованных (raw) величин выборок.

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

 

 

              Метод  расчета критерия c 2 ( хи-квадрат ).

 

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

среднее арифметическое (М);

среднее квадратичное отклонение (σ);

дисперсию (σ 2);

Когда эти описательные статистики подсчитываются применительно к очень большой по численности группе испытуемых (тысячи и миллионы ), то сама эта группа называется «генеральной совокупностью», а описательные статистики называются «параметры» совокупности. Такое различие в названиях призвано подчеркнуть, что описательные статистики, которые обычно рассчитываются для малых выборок, могут не совпадать с показателями, рассчитанными для того же признака на огромных выборках, т.е. будут иметь место расхождения М, σ и остальных показателей. Конечно, показатели, которые получены на очень больших выборках, являются более надежными, поскольку показывают не случайные, а стабильные (устойчивые) тенденции в распределении результатов. Поэтому, чтобы подчеркнуть надежность описательных статистик, выведенных на генеральной совокупности данных, их стали называть «параметрами», рассматривая их как своего рода устойчивые стандарты для изучаемого признака или характеристики.

     В этой связи те критерии, при расчете которых используются параметры (или описательные статистики) получили название – «параметрических критериев». К числу параметрических относятся: критерии F и t, а также коэффициент корреляции r. Но помимо данного вида критериев в статистике существует еще одна группа критериев, которые называются «непараметрические». Они называются так потому, что не опираются в своих расчетах на параметры (описательные статистики), а используют совершенно другие показатели.

 Рассмотрим непараметрический критерий  «хи-квадрат» - c 2 .

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

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

 

Сам критерий хи-квадрат обозначается греческой буквой χ2. Суть критерия заключается в том, что он сравнивает ожидаемые частоты появления каких-то событий и фактические частоты появления этих событий. Фактические частоты, которые иногда называют наблюдаемые частоты, принято обозначать буквой f о (поскольку f — это начальная буква в слове «frequencies», т. е. частоты, а значок «о» внизу относится к слову «observe», что значит «наблюдать»). Ожидаемые частоты обозначаются буквой f е (значок «е» внизу относится к слову «expect», что значит «ожидать»). Формула расчета критерия:
Разберем пример с использованием данного критерия. Предположим, что вам поручили оценить, насколько хорошо работает метеослужба какого-то региона, данные которой используются аэропортами для планирования полетов. В  первом столбце приведенной ниже таблицы 3 указаны дни с различными природными явлениями (снег, дождь и т.п.), в следующем столбце — наблюдавшаяся по факту частота появления этих дней в течение одного из зимних месяцев и прогнозируемая (ожидавшаяся) метеослужбой частота этих явлений.

Природное явление Условный код явления Наблюдавшаяся частота fo Ожидаемая частота fe Их разница (fo — fe)
Солнечно «1» 12 14 2
Дождь «2» 11 8 3
Снег «3» 8 5 3
Ветер «4» 20 17 3
Высокое давление «5» 10 16 6
Низкое давление «6» 14 14 0
Магнитная буря «7» 9 10 1

 

     Таблица 3. Пример метеоданных .

 

 

Вычислим экспериментальное значение хи-квадрат по формуле:


Чтобы определить, являются ли различия в частотах фактических и ожидаемых достоверными, нужно сравнить значение χ 2 эксп с критическим значением этого критерия — χ 2 крит по соответствующей таблице 4:

 

<

Доверительные границы критерия “хи-квадрат” с  К степенями свободы для двух уровней значимости P 0.05 и P 0.01

K P 0.05 P 0.01 K P 0.05 P 0.01
1 3.84 6.63 26 38.9 45.6
2 5.99 9.21 27 40.1 47.0
3 7.81 11.3 28 41.3 48.3
4 9.49 13.3 29 42.6 49.6
5 11.1 15.1 30 43.8 50.9
6 12.6 16.8 31 45.0 52.2
7 14.1 18.5 32 46.2 53.5
8 15.5 20.1 33 47.4 54.8
9 16.9 21.7 34 48.6 56.1
10 18.3 23.2 35 49.8 57.3
11 19.7 24.7 36 51.0 58.6
12 21.0 26.2 37 52.2


2019-11-13 350 Обсуждений (0)
Создание и оценка качества программно-аппаратных генераторов псевдослучайных чисел средствами VBA. 0.00 из 5.00 0 оценок









Обсуждение в статье: Создание и оценка качества программно-аппаратных генераторов псевдослучайных чисел средствами VBA.

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (350)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.011 сек.)