Смекни!
smekni.com

Генерирование коррелированных случайных процессов в среде LabVIEW (стр. 1 из 2)

Введение

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

В отличие от текстовых языков, таких как C, Pascal и др., где программы составляются в виде строк текста, в LabVIEW программы создаются в виде графических диаграмм, подобных обычным блок-схемам. Иногда можно создать приложение, вообще не прикасаясь к клавиатуре компьютера.

LabVIEW является открытой системой программирования и имеет встроенную поддержку всех применяемых в настоящее время программных интерфейсов, таких как Win32 DLL, COM.NET, DDE, сетевых протоколов на базе IP, DataSocket и др. В состав LabVIEW входят библиотеки управления различными аппаратными средствами и интерфейсами, такими как PCI, CompactPCI/PXI, VME, VXI, GPIB (КОП), PLC, VISA, системами технического зрения и др. Программные продукты, созданные с использованием LabVIEW, могут быть дополнены фрагментами, азработанными на традиционных языках программирования, например C/С++, Pascal, Basic, FORTRAN. И наоборот можно использовать модули, разработанные в LabVIEW в проектах, создаваемых в других системах программирования. Таким образом, LabVIEW позволяет разрабатывать практически любые приложения, взаимодействующие с любыми видами аппаратных средств, поддерживаемых операционной системой компьютера.


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

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

wN(x1, x2, … xN) = w(x1)w(x2/x1) w(x3/,x2)*…* w(xN/ xN - 1) = w(x1)∏w(xi/xi – 1).

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

Спектрально-корреляционная модель оперирует с двумерной плотностью распределения вероятности w(x1, x2), связывающей отсчеты случайного процесса, взятые в разные моменты времени x1 = x(t1) и x2 = x(t2). Если изменять t1 и t2, то можно исследовать попарную связь всех отсчетов между собой и, в принципе, последовательно определить все связи, описываемые N-мерным законом распределения. В спектрально-корреляционной модели для описания этой связи используется корреляционный (второй смешанный центральный) момент:


Стационарные случайные процессы характеризуются неизменностью характеристик во времени, и для таких процессов корреляционный момент не зависит от выбора начального момента времени t1, а определяется только величиной интервала τ = t2 – t1.

Зависимость корреляционного момента от временного интервала τ между отсчетами называется корреляционной функцией R(τ) случайного процесса. При τ = 0 значение корреляционной функции максимально и равно дисперсии случайного процесса σ2. С увеличением |τ| корреляционная функция уменьшается до нуля монотонно или по колебательному закону.При моделировании всегда используется реализация случайного процесса конечной длины и в измеренной корреляционной функции появляются нескомпенсированные остатки. Уровень этих остатков тем меньше, чем больше длина реализации. На рис. 1 показаны корреляционные функции для случайной последовательности с треугольной функцией корреляции для количества отсчетов последовательности, равным 100 (рис. 1, а) и 10000 (рис. 1.б).

а) б)

Рис. 1

Случайный процесс называется некоррелированным, если корреляционная функция равна нулю для любого τ, отличного от нуля. Для некоррелированного процесса R(τ) = σ2δк(τ), где δк(τ) – символ Кронекера: он равен 1 при τ = 0 и нулю при всех других τ. Вообще говоря, некоррелированность не означает независимости. Это можно пояснить следующим примером.

Рис. 2

Пусть случайная величина Y = 4X12 + X2, где X1 и X2 – независимые случайные величины, равномерно распределенные в интервале (– 1/2, 1/2). Ясно, что Y связана с X1 статистической зависимостью (см. рис. 2). Однако корреляционный момент

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

Рассмотренная статистическая связь является нелинейной и никак не отражается в корреляционной функции. Корреляционная функция характеризует только линейную статистическую зависимость между отсчетами случайного процесса.

Для измерения корреляционной функции в LabVIEW существует несколько виртуальных приборов. В данной работе используется экспресс-ВП ConvolutionandCorrelation (Свертка и корреляция) (рис. 3 а), так как он представляет собой завершенную программу, не требует никаких дополнительных узлов управления и удобен в использовании. Панель конфигурирования экспресс-ВП ConvolutionandCorrelation показана на рис. 3, б).

Рис. 3

Корреляционная функция связана с энергетическим спектром случайного процесса преобразованием Винера-Хинчина, которое по форме совпадает с двусторонним преобразованием Фурье. Энергетический спектр случайной последовательности, содержащей N отсчетов, рассчитывается как двустороннее дискретное преобразование Фурье (ДПФ) от дискретной корреляционной функции R(n):


где fk = k/N*Δt – частота спектральной составляющей, Δt – временной интервал между соседними отсчетами случайного процесса, или интервал дискретизации.

Из приведенного выражения следует, что энергетический спектр случайной последовательности является дискретным и периодическим (рис. 4). Он содержит гармоники частоты f1 = 1/N*Δt. Это самая низкая частота спектра, так как за время, равное длительности случайной последовательности N*Δt, укладывается только один период колебания этой частоты.

Рис. 4

Период спектра равен частоте дискретизации fд = 1/ Δt. Как видим, для определения спектра на любой частоте достаточно знания спектра в диапазоне частот от 0 до половины частоты дискретизации. Поэтому максимальная частота спектра, отображаемого на экране виртуального прибора равна fд/2.

LabVIEW располагает разнообразными ВП для спектрального анализа (более 20 типов). Воспользуемся экспресс-ВП SpectralMeasurements (Рис. 5), в котором предусмотрена возможность усреднения (Averaging) и оконной обработки (Window) для уменьшения краевых эффектов.


а) б)

Рис. 5

2. Генерирование коррелированных случайных последовательностей

Чаще всего для генерирования коррелированных случайных последовательностей используется метод формирующего фильтра. Если на вход линейного формирующего фильтра подать белый шум x(t), то на его выходе будет коррелированный случайный процесс y(t) с корреляционной функцией, определяемой характеристиками фильтра. Энергетический спектр случайного процесса связан с частотной характеристикой фильтра соотношением:

Sy(ω) = σx2|K(jω)|2, ( 1)

а корреляционная функция определяется импульсной характеристикой фильтра.

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

Метод скользящего суммирования В методе скользящего суммирования (скользящего среднего) выходной процесс определяется как весовая сумма отсчетов входного процесса, взятых в настоящий t = nΔt и предшествующие моменты времени:

y(nΔt) = b0x(nΔt) + b1x(nΔt – Δt) + b2x(nΔt – 2Δt) + … + bkx(nΔt – kΔt). ( 2)

В следующий момент времени t = nΔt + Δt

y(nΔt + Δt) =

= b0x(nΔt +Δt) + b1x(nΔt) + b2x(nΔt – Δt) + … + bkx(nΔt – (k – 1) Δt)

и т.д. для последующих моментов времени.

Значения корреляционной функции выходного процесса определятся как математическое ожидание произведения отсчетов выходного процесса, отстоящих друг от друга на интервал iΔt.

Ry(iΔt) = M{ y(nΔt)y(nΔt +iΔt)}.

Учитывая, что входной процесс не коррелирован и, следовательно,

M{ x(nΔt)x(nΔt +iΔt)} = σx2δк(iΔt),

Получим

Ry(0) = σy2 = (b02 + b12 + b22 + … + bk2x2,