Генерирование независимых случайных процессов в программном пакете LabVIEW

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 18.03.2011
Размер файла 611,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Введение

LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) -- это среда разработки и платформа для выполнения программ, созданных на графическом языке программирования «G» фирмы National Instruments (США). Первая версия LabVIEW была выпущена в 1986 году для Apple Macintosh, в настоящее существуют версии для UNIX, GNU/Linux, Mac OS и пр., а наиболее развитыми и популярными являются версии для Microsoft Windows.

LabVIEW используется в системах сбора и обработки данных, а также для управления техническими объектами и технологическими процессами. Идеологически LabVIEW очень близка к SCADA-системам, но в отличие от них в большей степени ориентирована на решение задач не столько в области АСУ ТП, сколько в области АСНИ.

1. Генерирование независимых случайных процессов

При цифровом моделировании все процессы являются дискретными и фактически представляют собой конечный массив данных. Будем считать этот массив одномерным и содержащим N элементов. Для случайного процесса элементы массива являются случайными величинами. Такой дискретный случайный процесс полностью описывается N-мерной плотностью распределения вероятности wN(x1, x2, … xN). Ее можно выразить через условные плотности распределения вероятности:

wN(x1, x2, … xN) = w(x1)w(x2/x1)w(x3/x1,x2)…w(xN/x1,x2,…,xN - 1).

Случайный процесс считается независимым, если условная плотность распределения вероятности случайной величины Xk не зависит от того, какие значения приняли предыдущие случайные величины X1, X2,…, Xk-1, то есть

w(xk/x1,x2,…,xk - 1) = w(xk).

Таким образом, N-мерная плотность распределения вероятности независимого случайного процесса

wN(x1, x2, … xN) = ? w(xk)

полностью определяется одномерной плотностью распределения вероятности. Для стационарного случайного процесса она не зависит от индекса случайной величины: w(xk) = w(x).

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

2. Генерирование независимых случайных величин

В ЦВМ используются программные генераторы независимых случайных величин. В общем случае они вычисляют последовательность чисел по некоторой рекуррентной формуле:

xn+1 = (xn, xn-1, …, xn-r),

где означает совокупность операций, которые необходимо проделать над числами xn, xn-1, …, xn-r, чтобы получить xn+1. В результате многократного применения этой процедуры получается последовательность чисел, которая является детерминированной и повторяющейся с некоторым периодом. Однако в течение временного интервала, меньшего периода повторения, она обладает всеми свойствами реализации случайного процесса.

Одним из простейших алгоритмов генерации случайной последовательности с равномерным законом распределения является алгоритм Лемера (мультипликативный датчик): yn+1 = ayn(mod m). По этому алгоритму последующее число yn+1 определяется как остаток от деления на m произведения предыдущего числа yn на некоторый множитель а. Все числа уп, уп+1, а и т являются целыми.

Число у может принимать любые значения от 0 до m - 1 с одинаковой вероятностью, то есть равномерно распределено в этом интервале. Поделив его на т, получим число, равномерно распределенное в интервале от 0 до 1 - 1/т. Если т достаточно велико, то число xn = yn/m можно считать равномерно распределенным в интервале от 0 до 1. Перед запуском программы надо задавать начальное значение у0, отличное от нуля.

генерирование случайная величина программный

При использовании алгоритма уп+1 = (ауп + )(mod m) (смешанный генератор) начальное значение у0 может быть любым. Здесь м тоже целое число.

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

Обратимся к рис. 1, где изображена функциональная зависимость u = f(x). Переменная x принимает значения от 0 до1, а переменная u - от -? до ?. Значениям переменой x, меньшим x0, соответствуют значения переменной u, меньшие u0. Если X и U - случайные величины, то это означает, что вероятности того, что X < x0 и U < u0, одинаковы, то есть функции распределения Fx(x) и Fu(u) равны:

Fx(x) = Fu(u).

Так как X равномерно распределена в интервале [0, 1), то

w(x) = 1 при 0 ? x < 1,

w(x) = 0 при x<0, x > 1

и

Fx(x) = ?dx = x при 0 ? x < 1,

Fx(x) = 1 при x > 1

Следовательно, x = Fu(u). поэтому u =Fu-1(x). Такой метод расчета нелинейного преобразования называется методом обратной функции распределения.

Для некоторых законов распределения обратная функция находится легко. Например, для экспоненциального закона распределения w(u) =

exp(-u), F(u) = ?exp(-u)du = 1 - exp(-лu). И из уравнения x = 1 - exp(-лu)

получается

u = -(1/)ln(1 - x). (1)

Для релеевского закона распределения w(u) = (u/2)exp(-u2/22), F(u) =

= ?(u/у2)exp(-u2/2у2)du = 1 - exp(-u2/2у2). Из уравнения x =1 - exp(-u2/2у2)

получается

u = (-2ln(1 - x))1/ (2)

В выражениях (1) и (2) можно заменить 1 - x на х, так как закон распределения их одинаков.

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

1) все величины имеют конечные математические ожидания и дисперсии;

2) ни одна из величин по своему значению резко не отличается от всех остальных.

При сложении k равномерно распределенных случайных величин получается случайная величина Vk = ?Хi с законом распределения, отличным от равномерного (в процессе выполнения работы вы увидите, как изменяется закон распределения с изменением k). Математическое ожидание случайной величины Vk

Дисперсия случайной величины Vk

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

Vkнорм = (Vk - Mv)/у = (Vk - k/2)v12/k.

Закон распределения, близкий к нормальному, получается уже при k ? 6. Для k = 6

V6норм = (V6 - 3)v (3)

Рис. 2

В данной лабораторной работе исследуются несколько вариантов формирования случайных величин c разными законами распределения. Чтобы легче читалась блок-схема программы, используем структуру Case (Вариант). Структура Case аналогична операторам case или if-then-else в текстовых языках программирования. По умолчанию структура Case (Рис. 2) является логической и имеет два варианта - ИСТИНА (TRUE) и ЛОЖЬ (FALSE), выбираемые подачей на терминал селектора варианта логической переменной. При подключении к терминалу селектора варианта числовой или строковой переменной структура автоматически переводится на управление этой переменной и может иметь практически неограниченное число вариантов.

Ввод и вывод данных в структуре Case производится с помощью входных и выходных терминалов данных (тоннелей). Создание выходного терминала данных в одном из вариантов приводит к его появлению и в других вариантах на том же самом месте структуры. Во всех вариантах к выходным терминалам обязательно должны подаваться данные, причем одинакового типа. Неподсоединение данных к выходным терминалам в каком-либо варианте воспринимается как ошибка. Входные терминалы в некоторых вариантах могут оставаться неподсоединенными.

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

Как уже отмечалось, случайные величины независимы, если закон распределения одной из них не зависит от законов распределения других. В противном случае они зависимы. Эта зависимость вероятностная, статистическая. Независимость или зависимость двух случайных величин наглядно можно определить, используя осциллограф в режиме XY, когда по координатным осям откладываются соответствующие случайные величины.

а) б) в)

Рис. 3

На рис. 3, а) показано изображение на экране осциллографа, если по горизонтали откладывается случайная величина Х1, равномерно распределенная в интервале [0,1), а по вертикали - Y = Х1 + Х2 - сумма двух случайных величин, равномерно распределенных в интервале [0,1). Легко убедиться, что если случайная величина Х1 приняла значение х1, то случайная величина Y равномерно распределена в интервале (x1, x1 +1). Значит, случайные величины Y и Х1 статистически зависимы. На рис. 3, б) показано изображение на экране осциллографа, когда по осям откладываются случайные величины Х1 и Х2 с равномерным законом распределения, снимаемые с различных генераторов. Экран осциллографа равномерно заполнен, никакой связи между этими величинами не видно, значит, эти случайные величины независимы. На рис. 3, в) показано изображение на экране осциллографа, когда по обеим координатам откладывается одна и та же случайная величина. Такое изображение соответствует не вероятностной, а функциональной связи.

Для оценки закона распределения случайной величины используется гистограмма распределения. Гистограмма распределения (рис. 4) - это столбиковая диаграмма, показывающая частоту попадания значений случайной величины в определенные интервалы. Пусть сформированный массив содержит N значений (отсчетов) случайной величины Х. Весь диапазон наблюдаемых значений случайной величины (xmin, xmax) делится на m интервалов одинаковой ширины Дx = (xmax - xmin)/m, которые называются разрядами. Подсчитывается количество ni значений случайной величины, попадающих в i-ый разряд, и определяется частота попадания случайной величины в i-ый разряд ni/N.

Размещено на http://www.allbest.ru/

При увеличении N частота приближается к вероятности попадания случайной величины в i-й разряд, поэтому ее можно назвать оценкой этой вероятности. pi = ni/N.

Гистограмма строится так: отрезок (xmin, xmax) делится на m интервалов размером Дх, и на каждом из интервалов строится прямоугольник с площадью, равной pi. При малом числе отсчетов гистограмма распределения будет изрезанной, и по ней становится трудно судить о законе распределения. Поэтому с увеличением количества разрядов должно увеличиваться и количество отсчетов. Считают, что результаты будут удовлетворительными, если

m = 3,3lgN + 1. (4)

С увеличением N и уменьшением Дx гистограмма распределения приближается к кривой плотности распределения вероятности w(x).

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

F(xmin + kДx) = ?pi ( 5)

При экспериментальном измерении гистограмма строится немного по-другому. Как правило, высота каждого столбика равна ni - количеству отсчетов, попадающих в i-й разряд.

В Lab VIEW существуют несколько виртуальных приборов для измерения гистограммы. В лабораторной работе используются два из них: экспресс-ВП Гистограмма (Create Histogram) и ВП Histogram.

а) б)

Рис. 5

Экспресс-ВП представляет собой ВП с широкими возможностями, настройка которого производится в окне конфигурирования (лицевой панели). Окно конфигурирования Экспресс ВП Create Histogram показано на рис 5, б). В нем задаются параметры гистограммы: количество разрядов (Number of bine), минимальное (Minimum value) и максимальное (Maximum value) значения входной величины. Иконка Экспресс ВП Create Histogram показана на рис. 5 а). К терминалу Signal подсоединяется исследуемая случайная последовательность, а к терминалу Histogram - графический индикатор Graph.

В LabVIEW графический индикатор обладает разнообразными возможностями представления данных и измерения параметров осциллограмм. Рассмотрим те, которые потребуются при выполнении этой и последующих лабораторных работ (см. рис. 6).

Рис. 6

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

Палитра элементов управления графиком (Graph Palette) позволяет выделить нужную часть изображения и рассмотреть ее в крупном масштабе.

Панель редактирования курсоров (Cursor Legend) позволяет изменять положение курсора, привязывать его к графику, вводить несколько курсоров. Координаты курсоров высвечиваются на панели редактирования курсоров.

Рис. 7

Во втором ВП - Histogram (рис. 7) задается только количество разрядов подачей соответствующего числа на терминал intervals. ВП выдает два массива: гистограмму - Histogram h(x) и координаты середин интервалов - X Values. Анализируемый массив случайных чисел подается на вход Х.

Для проверки близости полученного закона распределения к требуемому разработан ряд критериев, в основе которых лежит сравнение гистограммы распределения с теоретическими значениями вероятности попадания pi случайной величины в i-й разряд, полученными по требуемой плотности распределения w(x).

Наиболее известными являются критерий 2 (хи-квадрат) Пирсона и критерий Колмогорова. По критерию Колмогорова в качестве меры расхождения между требуемым и полученным распределениями используется максимальное значение модуля разности между оценкой функцией распределения F(x), определенной по гистограмме распределения, и требуемой F(x):

D = maxF(x) - F(x).

Требуемая функция распределения рассчитывается по формуле (5), в которой вместо pi надо подставить pi.

А. Н. Колмогоров показал, что, какова бы ни была функция распределения F(x) непрерывной случайной величины x, при неограниченном возрастании числа опытов N вероятность неравенства DN сходится к значению

P() = 1 - (-1)k exp{-2k22}.

Ниже приведена таблица для Р(л)

Таблица 1

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

P()

1,000

1,000

1,000

1,000

0,997

0,964

0864

0,711

0,544

0,393

1,0

1,1

1,2

1,3

1,4

1,5

1,6

1,7

1,8

1,9

P()

0,270

0,178

0,112

0,068

0,040

0,022

0,012

0,006

0,003

0,002

Если для рассчитанного значения л = DN вероятность Р() достаточно велика, то считают, что величина Х распределена по закону F(x). При малых значениях вероятности Р() (меньше 0,1 - 0,05) закон распределения случайной величины Х далек от F(x).

Блок-схема программы, позволяющей найти максимальную разность, приведена на рис. 8. Массив {ni} (Гистограмма) подается на функцию Index Array , которая возвращает элемент ni массива с индексом i. Поделив ni на N, получим оценку вероятности попадания в i-ый интервал, а просуммировав эти вероятности получим оценку функции распределения. Функция распределения нормальной случайной величины вычисляется блоком Normal Dist. Так как {xi} представляет собой массив координат середин интервалов, а функцию распределения нужно находить для координат концов интервалов, то на терминал “x” блока Normal Dist подается переменная x = xi + (xi - xi - 1)/ Далее находится модуль разности найденных функций распределения. Максимальное значение модуля разности возвращается функцией Array Max & Min .

Рис. 8

Заключение

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

Вместе с тем LabVIEW - очень простая и интуитивно понятная система. Неискушённый пользователь, не являясь программистом, за сравнительно короткое время (от нескольких минут до нескольких часов) способен создать сложную программу для сбора данных и управления объектами, обладающую красивым и удобным человеко-машинным интерфейсом. Например, средствами LabVIEW можно быстро превратить старый компьютер, снабжённый звуковой картой, в мощную измерительную лабораторию.

Специальный компонент LabVIEW - Application Builder, позволяет выполнять LabVIEW-программы на тех компьютерах, на которых не установлена полная среда разработки.

Список литературы

1. Н.А. Виноградова, Я.И. Листратов, Е.В. Свиридов. «Разработка прикладного программного обеспечения в среде LabVIEW». Учебное пособие - М.: Издательство МЭИ, 2005.

2. http://www.automationlabs.ru/

3. http://digital.ni.com/

4. http://www.labview.ru/

5. http://ru.wikipedia.org/

Размещено на Allbest.ru


Подобные документы

  • Разработка прикладного программного обеспечения для организации взаимодействия с измерительной и управляющей аппаратурой с помощью LabVIEW. Генерирование коррелированных случайных процессов и последовательностей, применение рекурсивного фильтра.

    контрольная работа [1,1 M], добавлен 18.03.2011

  • Система программирования LabVIEW и ее использование в системах сбора и обработки данных. Программирование, основанное на потоках данных. Генерирование детерминированных процессов. Способность инструментов программы изменяться. Расчет значений массива.

    контрольная работа [424,4 K], добавлен 18.03.2011

  • Переходная и импульсная характеристики объекта управления. Передаточная функция и переходная характеристика замкнутой системы. Оценка качества переходного процесса в среде LabView. Сравнение частотных характеристик объекта управления и замкнутой системы.

    курсовая работа [1,1 M], добавлен 27.05.2014

  • Этапы проведения трассерного эксперимента. Установление скачка посредством растворения в горячей воде навески m=6мг/л и добавления резким движением в установку. Детальная характеристика схемы установки, представленной в программной среде Labview.

    лабораторная работа [366,1 K], добавлен 06.04.2015

  • Использование LabVIEW в системах сбора и обработки данных, для управления техническими объектами и технологическими процессами. Программирование, основанное на потоках данных. Интерфейсная панель LabVIEW, окно редактирования диаграмм, панель управления.

    курсовая работа [771,7 K], добавлен 10.11.2009

  • Основные подходы при создании Windows приложений. Изучение навыков работы с 2D графикой в Windows приложениях. Методы генерации псевдослучайных чисел. Разработка игры "Сапер" с расположением мин на основе нескольких методов генерации случайных чисел.

    курсовая работа [63,2 K], добавлен 18.02.2009

  • Применение случайных чисел в моделировании, выборке, численном анализе, программировании и принятии решений. Понятие равномерного распределения вероятности. Способы получения последовательности. Правила выбора модуля. Критерий Колмогорова-Смирнова.

    курсовая работа [1,3 M], добавлен 17.03.2011

  • Интерполяция методом наименьших квадратов. Построение функции с применением интерполяционного многочленов Лагранжа и Ньютона, кубических сплайнов. Моделирование преобразователя давления в частоту в пакете LabVIEW. Алгоритм стандартного ПИД-регулятора.

    курсовая работа [2,7 M], добавлен 20.04.2011

  • Проектирование датчика случайных чисел, пригодного для моделирования случайной последовательности с заданным законом распределения. Методы моделирования. Разработка алгоритма и программы датчика. Исследование свойств выработанной им последовательности.

    лабораторная работа [124,2 K], добавлен 15.06.2010

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

    дипломная работа [1,7 M], добавлен 29.01.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.