_WELCOMETO Radioland

Главная Схемы Документация Студентам Программы Поиск Top50  
Поиск по сайту



Навигация
Главная
Схемы
Автоэлектроника
Акустика
Аудио
Измерения
Компьютеры
Питание
Прог. устройства
Радио
Радиошпионаж
Телевидение
Телефония
Цифр. электроника
Другие
Добавить
Документация
Микросхемы
Транзисторы
Прочее
Файлы
Утилиты
Радиолюб. расчеты
Программирование
Другое
Студентам
Рефераты
Курсовые
Дипломы
Информация
Поиск по сайту
Самое популярное
Карта сайта
Обратная связь

Студентам


Студентам > Курсовые > Моделирование систем и сетей связи на GPSS

Моделирование систем и сетей связи на GPSS

Страница: 4/12

чайной  величиной  R,  имеющей равномерное распределение на отрезке

[0;1],  через свою обратную функцию  распределения.  Для  некоторых

случайных  величин уравнение связи имеет явное решение,  и значение

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

быть вычислено через R по формуле.  Так, например, значение случай-

ной величины E с показательным (экспоненциальным) распределением  с

параметром d вычисляется по формуле:

                         E= -(1/d) * ln(R)

Напомним, что  параметр d имеет смысл величины,  обратной математи-

ческому ожиданию E, а, следовательно, 1/d - математическое ожидание

(среднее значение) случайной величины E.

     Для получения случайной величины R с равномерным распределени-

ем на отрезке [0;1] в GPSS/PC имеются встроенные генераторы случай-

ных чисел.  Для получения случайного числа путем обращения к такому

генератору достаточно записать системный СЧА RN с номером генерато-

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

GPSS/PC дают числа не на отрезке [0;1],  а целые  случайные  числа,

равномерно  распределенные  от 0 до 999,  но их нетрудно привести к

указанному отрезку делением на 1000.

     Проще всего  описанные  вычисления  в  GPSS/PC  выполняются  с

использованием   1арифметических переменных 0.  Они могут быть целыми и

действительными.   1Целые переменные  0определяются перед началом моде-

лирования  с  помощью  оператора определения VARIABLE (переменная),

имеющего следующий формат:

                    1имя 0    VARIABLE     1выражение

Здесь  1имя  0- имя переменной, используемое для ссылок на нее, а  1выра-

 1жение  0- арифметическое выражение,  определяющее переменную. Арифме-

тическое  выражение представляет собой комбинацию операндов,  в ка-

честве которых могут выступать константы,  СЧА  и  функции,  знаков

арифметических  операций  и круглых скобок.  Следует заметить,  что

знаком операции умножения в GPSS/PC является символ # (номер).  Ре-

зультат каждой промежуточной операции в целых переменных преобразу-

ется к целому типу путем отбрасывания дробной части, и, таким обра-

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

      1Действительные переменные   0определяются  перед началом модели-

рования с помощью оператора определения FVARIABLE,  имеющего тот же

 

                              - 15 -

 

формат,  что и оператор VARIABLE. Отличие действительных переменных

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

промежуточные  операции  выполняются  с  сохранением  дробной части

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

расыванием дробной части.

     Арифметические переменные обоих типов имеют единственный СЧА с

названием V, значением которого является результат вычисления ариф-

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

ния  производится при входе транзакта в блок,  содержащий ссылку на

СЧА V с именем переменной.

     Действительные переменные  могут быть использованы для получе-

ния случайных интервалов времени с показательным законом  распреде-

ления.  Пусть  в модели из примера на рис.  3 распределения времени

поступления транзактов и времени задержки должны иметь  показатель-

ный закон. Это может быть сделано так, как показано на рис. 4.

 

        Ш1

           TARR    FVARIABLE     -100#LOG((1+RN1)/1000)

           TSRV    FVARIABLE     -80#LOG((1+RN1)/1000)

                   GENERATE      V$TARR

                   ADVANCE       V$TSRV

                   TERMINATE     1

        Ш1.5

 

                              Рис. 4

 

     Переменная с именем TARR задает выражение для  вычисления  ин-

тервала  поступления со средним значением 100,  вторая переменная с

именем TSRV - для вычисления времени задержки со средним  значением

80.  Блоки  GENERATE  и  ADVANCE  содержат в поле A ссылки на соот-

ветствующие переменные,  при этом поле B не используется, так как в

поле A содержится случайная величина, не нуждающаяся в модификации.

     Большинство случайных величин не  может  быть  получено  через

случайную величину R с помощью арифметического выражения. Кроме то-

го, такой  способ  является достаточно трудоемким,  так как требует

обращения к математическим  функциям,  вычисление  которых  требует

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

использование вычислительных объектов GPSS/PC типа  1функция 0.

     Функции используются для вычисления величин,  заданных таблич-

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

лирования с помощью оператора определения FUNCTION (функция), имею-

щего следующий формат:

                       1имя 0    FUNCTION    A,B

Здесь  1имя  0- имя функции,  используемое для ссылок на нее; A - стан-

 

                              - 16 -

 

дартный числовой атрибут,  являющийся аргументом функции;  B -  тип

функции и число точек таблицы, определяющей функцию.

     Существует пять типов функций.  Рассмотрим вначале  1непрерывные

 1числовые функции,  0тип которых кодируется буквой C. Так, например, в

определении непрерывной числовой функции,  таблица которой содержит

24 точки, поле B должно иметь значение C24.

     При использовании непрерывной функции для  генерирования  слу-

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

ных чисел RNj. Так, оператор для определения функции показательного

распределения может иметь следующий вид:

                    EXP    FUNCTION    RN1,C24

Особенностью использования  встроенных  генераторов случайных чисел

RNj в качестве аргументов функций является то,  что их  значения  в

этом контексте интерпретируются как дробные числа от 0 до 0,999999.

     Таблица с координатами точек функции располагается в  строках,

следующих  непосредственно  за  оператором FUNCTION.  Эти строки не

должны иметь поля нумерации. Каждая точка таблицы задается парой Xi

(значение аргумента) и Yi (значение функции),  отделяемых  друг  от

друга запятой. Пары координат отделяются друг от друга символом "/"

и располагаются на произвольном  количестве  строк.  Последователь-

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

     Как уже отмечалось,  при использовании функции в поле B блоков

GENERATE и ADVANCE вычисление интервала поступления или времени за-

держки  производится путем умножения операнда A на вычисленное зна-

чение функции.  Отсюда следует, что функция, используемая для гене-

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

описывать зависимость y=-ln(x),  представленную в  табличном  виде.

Оператор FUNCTION с такой таблицей, содержащей 24 точки для обеспе-

чения достаточной точности аппроксимации, имеет следующий вид:

        Ш1

         EXP    FUNCTION    RN1,C24

        0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915

        .7,1.2/.75,1.38/.8,1.6/.84,1.85/.88,2.12/.9,2.3

        .92,2.52/.94,2.81/.95,2.99/.96,3.2/.97,3.5/.98,3.9

        Ш1.5

        .99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8

     Вычисление непрерывной функции производится следующим образом.

Сначала определяется интервал (Xi;Xi+1), на котором находится теку-

щее значение СЧА-аргумента (в нашем примере - сгенерированное  зна-

чение RN1). Затем на этом интервале выполняется линейная интерполя-

ция с использованием соответствующих значений Yi и Yi+1.  Результат

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

в качестве значения функции. Если функция служит операндом B блоков

GENERATE  или  ADVANCE,  то усечение результата производится только

 

                              - 17 -

 

после его умножения на значение операнда A.

     Использование функций для получения случайных чисел с заданным

распределением дает хотя и менее точный результат за  счет  погреш-

ностей аппроксимации,  но зато с меньшими вычислительными затратами

(несколько машинных операций на выполнение линейной  интерполяции).

Чтобы к погрешности аппроксимации не добавлять слишком большую пог-

решность усечения, среднее значение при использовании показательных

распределений должно быть достаточно большим (не менее 50). Эта ре-

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

     Функции всех типов имеют единственный СЧА с названием FN, зна-

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

функции производится при входе транзакта в блок,  содержащий ссылку

на СЧА FN с именем функции.

     Заменим в примере на рис.  4 переменные TARR и TSRV на функцию

EXP (рис. 5).

     Поскольку в обеих моделях используется один и тот же генератор

RN1,  интервалы  поступления  и  задержки,  вычисляемые  в   блоках

GENERATE и ADVANCE, должны получиться весьма близкими, а может быть

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

рез  модель (десятки и сотни тысяч),  разница в скорости вычислений

должна стать заметной.

 

        Ш1

         EXP    FUNCTION    RN1,C24

        0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915

        .7,1.2/.75,1.38/.8,1.6/.84,1.85/.88,2.12/.9,2.3

        .92,2.52/.94,2.81/.95,2.99/.96,3.2/.97,3.5/.98,3.9

        .99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8

                GENERATE    100,FN$EXP

                ADVANCE     80,FN$EXP

                TERMINATE   1

        Ш1.5

 

                              Рис. 5

 

     Особенностью непрерывных функций является то, что они принима-

ют "непрерывные" (но только целочисленные) значения в диапазоне  от

Y1 до Yn , где n - количество точек таблицы. В отличие от них  1диск-

 1ретные числовые функции 0, тип которых кодируется буквой D в операнде

B оператора определения функции,  принимают только отдельные (диск-

ретные) значения,  заданные координатами Yi в строках, следующих за

оператором определения FUNCTION.  При вычислении дискретной функции

текущее значение  СЧА-аргумента,  указанного  в  поле  A  оператора

FUNCTION,  сравнивается по условию <= последовательно со всеми зна-

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

 

                              - 18 -

 

этого  условия при некотором i.  Значением функции становится целая

часть соответствующего значения Yi.

     Если последовательность значений аргумента таблицы с координа-