Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
НОВИКОВ_2013-14 / Лаб_№5.doc
Скачиваний:
29
Добавлен:
19.03.2015
Размер:
243.71 Кб
Скачать

2.2. Формирование схемы моделирования

Для данной структурной схемы соответствующая эквивалентная схема (блок-диаграмма) моделирования в подсистеме MatLab SIMULINK может иметь вид, представленный на рисунке 2.

При формировании схемы использованы следующие блоки из библиотеки SIMULINK:

из группы Sources (Источники):

- блок Constantисточник постоянного сигнала;

- блок Random Number - источник случайного сигнала с нормальным распределением;

- блок Uniform Rundom Number - источник случайного сигнала с равномерным распределением;

из группы Continuous (блоки непрерывных моделей):

- блок Transfer Fcnпередаточная функция;

из группы Sinks (Приемники):

- блоки Scope – осциллограф;

- блок To Workspaceблок записи в рабочую область Matlab;

из группы Math Operations (Блоки математических операций):

- блоки Sum – сумматор.

Контроль и наблюдение за ходом процесса моделирования удобно вести по характеру процессов в функции времени, выводя их на осциллограф Scope.

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

Рассмотрим подробнее требуемые настройки.

2.3. Подготовка к имитационному моделированию

2.3.1. Настройка блока Random Number - источника случайного сигнала с нормальным распределением.

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

Для их задания в параметрах блока используются поля - Mean (среднее значение) и Variance (дисперсия).

В соответствии с нашими исходными данными зададим:

  • 0 - в поле Mean;

  • 0.3 в поле Variance.

Особенностью блока Random Number является то, что он в каждом сеансе моделирования генерирует одну и ту же последовательность случайных чисел.

Для изменения генерируемой последовательности необходимо вручную изменить значение его параметра Initial Seed (начальное зерно). При проведении большого числа повторных экспериментов с целью накопления статистических данных это не очень удобно.

Для разрешения этой проблемы в качестве параметра Initial Seed можно ввести некую переменную, значения которой можно было бы формировать автоматически, меняя при каждом повторном эксперименте (реализации случайного процесса). Таким образом, на выходе блока Random Number будет формироваться псевдослучайный процесс, разный при каждом повторном запуске модели.

Для определенности обозначим эту переменную латинской w. Закон изменения переменной можно организовать в процессе цикла экспериментов в М-файле.

2.3.2. Настройка блока Uniform Rundom Number - источника случайного сигнала с равномерным распределением

Для задания характеристик такого случайного сигнала используются числовые величины  – минимальный и максимальный уровни сигнала.

Занесем эти параметры блока в его соответствующие поля: значения - 0.2 и 0.2.

Аналогично предыдущему Random Number данный источник также имеет недостаток, – он генерирует одну и ту же последовательность случайных чисел при неизменном значении параметра блока Initial Seed.

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

Пусть имя этой переменной будет v. Закон изменения переменной можно организовать также в процессе цикла экспериментов в М-файле.

2.3.3. Настройка блока To Workspace - блока записи в рабочую область Matlab

Для регистрации, сохранения частных реализаций наблюдаемой величины (случайного процесса) z и дальнейшей обработки получаемой в результате эксперимента выборки наиболее удобным является использование блока To Workspace. (Блок обеспечивает сохранение выходных и промежуточных результатов моделирования в рабочей области Matlab).

После размещения блока To Workspace в схеме модели для удобства дальнейших операций целесообразно скорректировать некоторые параметры блока.

  • Параметр Variable name (варьируемое имя)– на работу блока не влияет и определяет только имя, под которым будет сохранена соответствующая величина. (По умолчанию имя имеет исходное значение simaut). Имена переменных, используемых в S-модели, должны содержать только латинские символы. С учетом этого вместо исходного имени введем для удобства имя z – в нашем случае обозначение ошибки регулирования, которую хотим сохранить (см. рисунки 1 и 2).

  • Параметр Limit data points to last (максимальное количество сохраняемых расчетных точек по времени). Количество расчетных точек отсчитывается от момента завершения моделирования (от “конца”). По умолчанию этот параметр имеет значение inf (бесконечность), это означает, что в рабочей области будут сохранены все данные в течение интервала моделирования. В нашем случае в соответствии с условиями задачи необходима регистрация ошибки регулирования z лишь в конечной точке процесса tк.. Поэтому зададим этот параметр равным 1 (одна точка).

  • Поскольку в процессе моделирования необходимо сохранение результатов, образующих массив чисел, то эффективным является задание параметра Save format (формат сохранения данных) равным Array (массив).

2.3.4. Установка параметров моделирования и сохранение модели

Перед выполнением моделирования в панели управления меню Simulation окна моделирования необходимо предварительно задать параметры.

  • Задать интервалы моделирования (Simulation time). Начальное время (Start time), как правило, задается равным нулю, величина конечного времени (Stop time) задается пользователем; по условиям задачи в нашем случае достаточно задать, например, равным 10.

  • В параметрах обмена с рабочей областью на вкладке Workspace I/O \ Save to Workspace переменную Time для удобства изменим со значения tout (по умолчанию) на t, а переменную Output со значения yout (по умолчанию) на z (сохраняемая ошибка регулирования).

  • Сохраним модель по команде Save As с расширением .mdl. Пусть имя модели для определенности будетLab5 ” (в соответствии с номером данной лабораторной работы).

2.3.5. Представление результатов имитационного моделирования

Для представления результатов целесообразно руководствоваться следующим алгоритмом - процедурой.

  • Формировать исходный массив Z из значений ошибок регулирования z в каждой реализации.

  • Для получения числовых характеристик случайной величины z (математического ожидания и среднеквадратического отклонения - СКО) можно использовать функции mean и std соответственно: mean(Z), std(Z), где Z – массив, сформированный по результатам цикла моделирования, состоящего из заданного количества реализаций N. (Чем больше N, тем выше достоверность получаемых числовых характеристик случайной величины).

  • Для наглядного представления ошибки z в каждой реализации моделирования удобно воспользоваться специальной графикой (plot без указания аргумента строящейся функции). В этом случае в качестве аргумента система принимает номер элемента вектора ошибки (в нашем случае – номер реализации). Оператор должен иметь вид: plot(Z).

  • Еще более наглядным является представление вектора в виде столбчатой диаграммы с помощью функции bar: bar(z).

  • Еще одна полезная инженеру функция – hist (построение графика гистограммы заданного вектора). Стандартное обращение к ней имеет вид: hist(Z, z), где Z – вектор, гистограмму которого нужно построить; z – вектор, определяющий интервалы изменения первого вектора Z.

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

В языке Matlab имеются программы двух типов: так называемые Script-файлы (файлы-сценарии или управляющие программы) и файл-функции (процедуры). Все программы должны иметь расширение имен файлов .m.

Создание программы осуществляется при помощи текстового редактора, вызываемого по команде File New M-file. Пусть имя файла для определенности будетLab5_1 ”

М-файл (Script-файл), реализующий представленный выше алгоритм, может иметь следующий вид.

w=1 % начальное значение переменой w источника случайного сигнала, формирующего шум S1

v=2 % начальное значение переменой v источника случайного сигнала, формирующего помеху S2

N=50 % количество реализаций случайного процесса

Z(N)=0 % формирование массива ошибок и задание начальных значений массива

for(i=1:N) % формирование цикла из N реализаций

w=w+1

v=v+1

Lab5 % вызов файла "Lab5.mdl" для изображения на экране

sim('Lab5') % запуск файла "Lab5.mdl" на моделирование

Z(i)=z % формирование массива случайной величины (контролируемого сигнала ошибки)

end % завершение цикла

Mz=mean(Z) % вычисление среднего значения ошибки

sigz=std(Z) % вычисление среднеквадратического отклонения ошибки

%plot(Z),grid % графическое изображение значений ошибки по реализациям

%bar(Z),grid % изображение значений сигнала в реализациях в виде столбчатой диаграммы

z=[-2:0.2:2] % задание интервала изменения сигнала ошибки для построения гистограммы

hist(Z,z),grid % построение графика гистограммы

Соседние файлы в папке НОВИКОВ_2013-14