МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РФ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ
БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО
ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«МОРДОВСКИЙ
ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ
ИНСТИТУТ
ИМЕНИ М. Е. ЕВСЕВЬЕВА»
Факультет физико-математический
Кафедра информатики и
вычислительной техники
Реферат на тему:
«Имитационное
моделирование в среде Xcos системе Scilab»
Выполнил: В.П. Михневич,
студент III курса группы МДМ-114
Проверила: кан. физ-мат. наук, доцент
Кормилицына Т.В
Саранск 2016
Содержание.
1.
Начало работы
1.1.
Простейшая программа
1.2.
Сохранение и загрузка
1.3.
Основные понятия
1.4.
Изменение параметров блока
1.5. Время моделирования
1.6.
Переменные окружения
1.7.
Подключение дополнительных модулей
2.
Использование основных блоков Xcos
2.1.
Осциллографы
2.2.Источники
сигналов
2.2.1.
Константа
2.2.3.
Генератор синусоиды
2.2.4. Генератор
случайных чисел
2.2.5 Функция
включения
2.3.Маршрутизация
сигналов
2.3.1.Мультиплексор
2.3.2.
Селектор
2.3.3. Шина
2.4.Блок
задержки
3.Дополнительные
блоки Xcos
3.1. Спектограф
4.Краткая
справка
4.1.
Регистрирующие устройства
4.2.
Источники сигналов и воздействий
4.3.
Обработка событий
4.4.Системы
с непрерывным действием
4.5.Математические
операции
4.6.Маршрутизация
сигналов
4.7.Модуль bufferblock
5.Литература
1
Начало работы
1.1 Простейшая диаграмма
Для построения
блочной диаграммы используется графический редактор Xcos: Главное меню → Инструменты → Визуальное моделирование Xcos.
Рис. 1. Командное окно Scilab
(а) Палитры блоков (б) Окно редактора
Рис. 2. Графический редактор Xcos
После запуска Xcos
обычно отображаются два окна: окно Палитры блоков и окно графического
редактора. Если окно Палитры блоков отсутствует, его необ-
ходимо отобразить,
выбрав Вид → Палитры блоков в главном меню окна графи-ческого
редактора Xcos.
В
окне
Палитры блоков представлены группы блоков, из которых строится диаграмма Xcos.
Выделив нужную группу левым кликом мыши (ЛКМ), вы увиди-те графические изображения
входящих в неё блоков. Правый клик мыши (ПКМ) на изображении блока вызывает
контекстное меню, через которое можно добавить выбранный блок к диаграмме или
вызвать справку по данному блоку. Добавить выбранный блок к диаграмме можно
также просто перетащив его мышью.
Выберите палитру Источники сигналов и
воздействий и перетащите в окно
диаграммы
блоки GENSIN_f (генератор синусоиды) и
SampleCLK (счётчик времени). Затем
перейдите к палитре Регистрирующие устройства и до-
бавьте к диаграмме блок CSCOPE (осциллограф). Соедините выход генера-
тора с
чёрным входом осциллографа, а выход счётчика с красным входом ос-циллографа.
Счётчик используется для периодической активации осциллографа с заданным
временным интервалом.
Соединительные
линии проводятся от выхода к входу (или наоборот) при за-жатой ЛКМ. Разрешённые
соединения подсвечиваются зелёным. Для удаления соединительной линии выделите
её и нажмите Delete.
(а) Диаграмма (б) Результат моделирования
Рис. 3. Простейшая диаграмма
Для запуска моделирования выберите Моделирование → Выполнить в глав-ном меню редактора
или просто нажмите на соответствующую кнопку в па-нели инструментов. Для
остановки моделирования выберите Моделирование → Завершить или же воспользуйтесь
соответствующей кнопкой в панели инстру-ментов.
1.2 Сохранение и загрузка
Сохраните текущую диаграмму, выбрав
Файл → Сохранить в главном меню окна
графического редактора. Сохраняйтесь чаще! Используйте ¾горячие¿ клавиши Ctrl +
S для экономии времени. Всегда сохраняйте диаграммы толь-ко в своей папке!
Загрузить сохранённую диаграмму можно
через Файл → Открыть или Файл
→ Недавние файлы.
1.3 Основные понятия
Любая диаграмма Xcos содержит два типа
соединений: регулярные (чёрные) и управляющие (красные). По регулярным
соединениям передаются сигналы дан-ных, а по управляющим сигналы активации.
Блоки также могут иметь регуляр-ные и управляющие входы и выходы. Как правило
регулярные входы и выходы блоков располагаются слева и справа от изображения
блока, а управляющие сверху и снизу.
В качестве основного источника сигналов
активации мы будем использовать счётчик времени SampleCLK. Его особенность
заключается в том, что все такие счётчики внутри одной диаграммы
синхронизированы.
Если
блок имеет управляющий вход, то он ¾срабатывает¿ каждый раз, когда на него
поступает сигнал активации. Поведение блока, не имеющего управляю-щего входа,
определяется его внутренними параметрами.
Блок
может наследовать сигнал активации от предыдущего блока, т.е. сраба-тывать при
поступлении на его регулярный вход сигнала данных. Также, блок может быть
активным всегда (например, генератор гармонического сигнала).
Блок
без входов, не получающий сигналов активации и не объявленный ак-тивным всегда,
является константным блоком. Выход такого блока не зависит от времени, а сам
блок ¾срабатывает¿ лишь единожды, на этапе инициализации.
После ¾срабатывания¿ блока значения на его выходе
остаются неизменными до следующего момента активации.
Таким образом, выходные значения
константных блоков не изменяются нико-гда, как бы часто вы к ним ни обращались.
Выходные значения блоков, активных всегда, будут меняться так часто, как часто
вы будете их запрашивать. В осталь-ных случаях выходные значения будут меняться
так часто, как часто блок будет получать сигнал активации: от входа активации
или наследовать от предыдущего блока.
1.4 Изменение параметров блока
Двойной ЛКМ (или
ПКМ и выбор в контекстном меню пункта Параметры блока) на блоке в окне графического
редактора вызывает окно Ввод значений.
Это окно позволяет менять параметры блока
(если блок допускает изменение параметров).
Вызовите окно Ввод значений для осциллографа на вашей
диаграмме. Поме-няйте значения переменных Ymin и Ymax, установив их равными -2
и 2 соответ-ственно. Запустите моделирование.
Рис. 4. Окно изменения параметров блока
Остановите моделирование и обратите внимание на график
сигнала. Синусо-ида на нём выглядит ¾рваной¿. Чтобы сделать её более гладкой,
надо уменьшить интевал взятия отсчётов. Для этого обратитесь к счётчику времени
и измените параметр Sample time (интервал дискретизации), сделав его равным
0.1. Запу-стите моделирование.
Значение параметра
может быть любой инструкцией, понятной Scilab. Вызо-вите окно изменения
параметров генератора синусоиды и установите значение параметра Frequency
(rad/s) (частота, рад/с) равным 2*%pi/5.
1.5 Время
моделирования
Выберите палитру Обработка событий и добавьте к диаграмме блок
ENDBLK . Установите параметр блока Final simulation time (конечное
время моделирования) равным 30. Запустите моделирование.
Другой способ
задания конечного времени моделирования выбрать пункт Моделирование →
Параметры в главном меню графического редактора и устано-вить параметр Конечное
время интегрирования равным нужному значению.
Рис. 5. Окно изменения параметров моделирования
При наличии блока ENDBLK система
выберет в качестве конечного наименьшее значение из Final simulation time и
Конечное время интегрирования.
1.6 Переменные
окружения
Выберите пункт Моделирование → Задать переменные окружения в главном
меню редактора. Задайте следующие переменные:
stime=0.1
freq=2*%pi/5
endtime=30
Рис. 6. Окно задания переменных окружения
Установите частоту генератора равной
freq, интервал дискретизации равным stime и конечное время моделирования равным
endtime.
Переменные окружения должны быть
заданы перед их использованием. Зна-чения переменных могут быть любой
инструкцией, понятной Scilab.
1.7 Подключение
дополнительных модулей
Если окно графического редактора Xcos
открыто, закройте его. В главном меню командного окна Scilab выберите Модули → bufferblock.
Рис. 7. Модуль bufferblock
Запустите Xcos. В окне Палитры блоков появится новая
палитра модуля bufferblock.
2.
Использование основных
блоков Xcos
2.1 Осциллографы
Для графического отображения сигнала
как функции времени в Xcos ис-
пользуются блоки CSCOPE
и CMSCOPE из палитры Регистрирующие устройства.
Блок
CSCOPE имеет один вход и отображает один или множество сигналов в единой
системе координат. Скаляр (число) на входе осциллографа CSCOPE отобра-жается
как единственный сигнал (см. рис. 3), вектор как множество сигналов.
Сохраните вашу диаграмму под другим
именем: Файл → Сохранить как. До-бавьте к
диаграмме, состоящей из генератора, осциллографа и счётчика времени,
блок INTEGRAL_f (интегратор) из палитры Системы с непрерывным
временем и блок MUX (мультиплексор)
из палитры Маршрутизация
сигналов. Подключите выход генератора к первому входу
мультиплексора и ко входу интегратора, выход интегратора ко второму входу
мультиплексора и, наконец, выход мультиплексора ко входу осциллографа.
Входы блоков можно подключать к уже
существующим соединительным ли-ниям. Разрешённые соединения подсвечиваются
зелёным.
Соединительные линии могут иметь любую
конфигурацию. В процессе созда-ния соединения нажатие ЛКМ добавляет новый узел.
Создать новый узел для изменения вида уже существующего соединения можно
двойным ЛКМ по соеди-нительной линии.
Рис. 8. Использование CSCOPE
Мультиплексор
в данном примере объединяет два скаляра на своих входах в один вектор из двух
элементов. Осциллограф рассматривает элементы вектора как точки отдельных
сигналов и изображает их соответственно.
Блок CMSCOPE имеет два и более входов и отображает сигналы в
отдельных системах координат в едином графическом окне.
Добавьте к диаграмме блок CMSCOPE и
блок ABS_VALUE (модуль) из
палитры
Математические операции. Подключите к первому входу осциллогра-фа выход
генератора, а ко второму выход блока ABS_VALUE. На вход блока ABS_VALUE подайте
сигнал с генератора. Управляющий вход осциллографа соеди-ните с выходом
счётчика времени.
Рис. 9. Использование CMSCOPE
Пределы по оси y
задаются в параметрах блока переменными Ymin vector и Ymax vector. Первый
элемент вектора относится к первому графику, второй ко второму. Задайте пределы
( 2; 2) для первого графика и (0; 2)
для второго.
Интервал обновления осциллографа (размер отображаемого
промежутка оси времени t) задаётся в параметрах блока переменной Refresh period
(интервал обновления). Для блока CSCOPE это скаляр, для CMSCOPE вектор, первый
элемент которого относится к первому графику, второй ко второму.
Блок CMSCOPE, аналогично CSCOPE, отображает векторный вход в
виде множе-ства сигналов в одной системе координат. Однако, в отличие от
CSCOPE, для него требуется явно указать размерности каждого из входов.
Размерности входов за-даются в параметрах блока переменной Input port sizes
(размерности входных портов) вектор, первый элемент которого относится к
первому графику, второй
ко второму.
Задайте размерность первого входа равной 2. Подключите к
первому входу осциллографа сигнал с выхода мультиплексора. Запустите моделирование.
Переменная Input
port sizes имеет ещё одно важное значение: её размер-ность определяет
количество входов осциллографа. Изменение размерности Input port sizes влечёт
за собой соответствующее изменение размерности переменных
Ymin vector, Ymax vector и Refresh period.
Добавьте третий элемент к Input port sizes, равный 1.
Установите для но-вого графика пределы по оси y и интервал обновления.
Подключите к третьему входу осциллографа сигнал с выхода генератора.
Рис. 10. Расширенное использование CMSCOPE
Цвет графиков функций задаётся в
параметрах блока переменной Drawing colors вектор, элементы которого
соответствуют номеру цвета в стандартной палитре. Первый элемент определяет
цвет первой кривой, второй цвет второй кривой и т.д. Если указать значение
цвета со знаком минус, то вместо кривых на графике будут отображаться метки.
2.2 Источники
сигналов
Источники сигналов находятся в палитре Источники сигналов и воздействий.
Нам понадобятся
•
CONST_m константа;
•
GENSIN_f генератор
синусоиды;
•
GENSQR_f генератор
прямоугольных импульсов;
•
RAND_m генератор
случайных чисел;
•
STEP_FUNCTION функция
включения.
2.2.1 Константа
Блок CONST_m используется для формирования постоянной
величины.
Он имеет один параметр: Constant Value значение константы. Блок
является констатным блоком (см. раздел 1.3 на стр. 5).
2.2.2 Генератор
синусоиды
Блок GENSIN_f используется для получения сигналов
синусоидаль-
ной формы. Он
является активным всегда (см. раздел 1.3 на стр. 5). Параметры блока:
•
Magnitude амплитуда;
•
Frequency (rad/s) частота
(рад/с);
•
Phase (rad) фаза (рад).
Создайте новую диаграмму (Файл → Новая диаграмма). Добавьте к ней два
генератора синусоиды. Установите фазу первого генератора равной %pi/2 (коси-нус),
а второго оставьте равной нулю (синус). Отобразите сигналы с обоих гене-раторов
в одном окне осциллографа.
Рис. 11. Использование GENSIN_f
2.2.3 Генератор
прямоугольных импульсов
Блок GENSQR_f используется для получения
последовательности пря-
моугольных
импульсов (видеоимпульсов) со скважностью 2 т.е. для формиро-вания меандра.
Блок имеет один управляющий вход и один регулярный выход. Параметр Amplitude
задаёт амплитуду импульсов. Длительность импульсов опре-деляется интервалом
поступления на управляющий вход сигналов активации.
Создайте новую диаграмму. Добавьте к диаграмме генератор
прямоугольных импульсов и счётчик времени. Установите интервал дискретизации
равным 5. Со-едините управляющий выход счётчика с управляющим входом
генератора. Отоб-разите сигнал генератора на экране осциллографа.
Рис. 12. Использование GENSQR_f
2.2.4 Генератор
случайных чисел
Блок RAND_m используется
для получения случайных чисел, распре-
делённых по нормальному или равномерному закону. Блок имеет
один управля-ющий вход и один регулярный выход. Параметры блока:
•
Data type (тип выходных данных): 1 действительные числа,
2 ком-плексные;
•
flag флаг, определяющий вид закона распределения: 0
равномерное, 1 нормальное (гауссовское);
•
A и B для равномерного распределения
величина A определяет минималь-ное
значение, а величина A + B
максимальное. Для нормального распре-деления A определяет матожидание, а B среднеквадратическое отклонение
(СКО).
•
SEED числа, используемые для
инициализации машинного генератора псевдослучайных чисел. Первое значение относится к действительной, а
вто-рое к мнимой части выходного сигнала. Два генератора с одинаковым
па-раметром SEED будут выдавать два идентичных
псевдослучайных сигнала.
Создайте диаграмму и добавьте к ней генератор случайных чисел.
Установите параметры генератора таким образом, чтобы получить на выходе
случайные чис-ла, распределённые по нормальному закону с мат. ожиданием равным 0 и СКО равным 1. Выведите сигнал генератора в окно
осциллографа с интервалом дис-кретизации 0:1.
Случайный процесс на выходе генератора (рис. 13) представляет
собой белый гауссовский шум (его отсчёты некоррелированы).
С
помощью
блока RAND_m можно получить случайный
синхронный телеграф-ный сигнал (СТС), имитирующий передаваемое двоичное
сообщение.
Установите параметры генератора таким образом, чтобы получить
числа, рав-номерно распределённые в диапазоне ( 1; 1). Добавьте к выходу генератора блок
Рис. 13. Белый шум
SIGNUM из
палитры Математические операции. На управляющий вход
генератора
подайте сигнал от счётчика времени с интервалом 2. Отобразите вы-ходной сигнал блока
SIGNUM на экране осциллографа с интервалом дискретиза-ции 0:1.
Рис. 14. Случайный синхронный телеграфный сигнал
Блок SIGNUM реализует знаковую функцию:
sign(x) =
|
8 0;
|
x = 0;
|
|
>
|
1;
|
x < 0;
|
|
<
|
1;
|
x > 0:
|
|
>
|
|
|
:
Таким
образом, все числа в диапазоне ( 1; 0) с выхода генератора будут
пре-образованы в 1, а числа в диапазоне (0; 1) в +1. Ноль на выходе генератора
преобразуется в 0, что нежелательно. Однако,
вероятность этого события настоль-ко мала, что им можно пренебречь. Вероятности
1 и +1 в СТС будут равны, т.к. интервалы ( 1; 0) и (0; 1) имеют одинаковую длину.
2.2.5 Функция
включения
Блок STEP_FUNCTION генерирует функцию включения. Параметры бло-
ка:
•
Step time время
включения;
•
Initial value начальное
значение;
•
Final value конечное
значение.
Создайте диаграмму,
содержащую генератор функции включения с парамет-рами: время включения 10,
начальное значение 0, конечное значение 1.
Отобразите сигнал с выхода генератора в окне осциллографа.
Рис. 15. Функция включения
Используя пару генераторов функции включения и блок BIGSOM_f (сум-
матор) из палитры Математические операции
можно получить одиночный пря-моугольный импульс.
Добавьте к диаграмме ещё один блок STEP_FUNCTION и блок
BIGSOM_f. Устано-вите время включения второго генератора равным 15 и конечное значение равным 1. Соедините выходы генераторов со
входами сумматора, а выход сумматора со входом осциллографа.
Рис. 16. Одиночный прямоугольный импульс
Блок BIGSOM_f (сумматор) имеет один параметр: Input ports signs/gain вектор
весовых коэффициентов входных портов. Размерность
этого
вектора определяет число портов. Выходной сигнал сумматора равен взве-шенной
сумме входных сигналов. По-умолчанию блок имеет два входа с весами 1, т.е.
просто суммирует входные сигналы.
Длительность полученного импульса определяется разностью
времени вклю-чения генераторов. Уменьшая эту разность до сколь угодно малого
значения, будем получать сигнал, приближающийся к дельта-функции. Практически
ми-нимальная разность определяется наименьшим временем дискретизации из всех
счётчиков на диаграмме.
2.3 Маршрутизация
сигналов
Из палитры Маршрутизация сигналов нам понадобятся три основных блока:
•
MUX мультиплексор;
•
ISELECT_m селектор;
•
NRMSOM_f шина.
2.3.1 Мультиплексор
Пример использвания этого блока приведён в разделе 2.1 на стр.
8. Мульти-плексор объединяет входные скаляры в один выходной вектор. Количество
вхо-дов (оно же размер выходного вектора) задаётся переменной Number of input
ports в параметрах блока.
2.3.2 Селектор
Блок ISELECT_m используется для разбиения входного потока
на
несколько
выходных. Количество управляющих входов равно количеству регу-лярных выходов.
Каждый управляющий вход соответствует одному выходу: при поступлении на первый
управляющий вход сигнала активации входной поток направляется на первый выход,
при поступлении сигнала активации на второй управляющий вход на второй выход и
т.д. Параметры блока:
• Data type тип данных: 1
действительные, 2 комплексные и т.д. (со-ответствуют стандартным типам данных
Scilab);
•
number of outputs
количество выходов;
•
initial connected output
номер изначально подключенного выхода.
Пусть имеется СТС с тактовым
интервалом, равным 1.
Необходимо разбить сигнал от источника на два потока, первый из которых
содержит посылки с чёт-ными, а второй с нечётными номерами.
Создайте новую диаграмму. Соберите
схему источника СТС (см. раздел 2.2.4 на стр. 12). Добавьте к диаграмме
селектор и два счётчика времени. Соедини-те счётчики с управляющими входами
селектора. Установите параметр initial connected output селектора равным 2. Задайте
интервалы дискретизации счёт-чиков на входах селектора равными 2 и установите задержку (offset) счётчика на первом входе селектора
равной 1. Добавьте к схеме осциллограф
CMSCOPE. Вы-ведите в окна
осциллографа сигнал с выхода генератора СТС и сигналы с выходов селектора.
Рис. 17. Использование селектора
Условие
разбиения сигнала реализовано правильной установкой параметров счётчиков
времени на управляющих входах селектора. Счётчик на втором входе срабатывает
сразу и продолжает выдавать сигналы активации с интервалом 2
(т.е.
с
интервалом,
вдвое превышающим тактовый интервал СТС). Счётчик на первом входе срабатывает с
задержкой 1 (один тактовый интервал) и,
как и счётчик на втором входе, выдаёт сигналы активации с интервалом 2. Таким образом, первая, третья и т.д.
(т.е. нечётные) посылки будут перенаправлены на выход 2, а вторая, четвёртая и
т.д. (т.е. чётные) посылки на выход 1.
2.3.3 Шина
Блок NRMSOM_f объединяет
множество входных потоков в один выход-
ной. Число входных потоков задаётся переменной number of inputs в парамет-рах блока.
Объедините потоки
чётных и нечётных посылок из предыдущего примера в один. Добавьте к диаграмме
блок NRMSOM_f. Подайте на первый вход блока
сигнал
с
первого
выхода селектора, на второй сигнал со второго выхода селектора. До-бавьте к
диаграмме осциллограф CMSCOPE. Выведите в окна осциллографа сигнал
с выхода генератора СТС и сигнал с
выхода шины.
Рис. 18. Использование шины
При
обновлении значения сигнала на любом из входов шины оно перенаправ-ляется на
выход.
2.4 Блок задержки
Блок TIME_DELAY из палитры Системы с непрерывным временем
реа-
лизует задержку входного сигнала во времени. Величина задержки
определяется переменной Delay в параметрах блока. Переменная initial input
задаёт началь-ное значение выходного сигнала, а переменная Buffer size рзамер
внутрен-него буфера блока, в котором хранятся отсчёты задержанного входного
сигнала. Размер буфера должен быть не меньше чем число отсчётов сигнала за
время задержки.
Создайте
новую диаграмму. Добавьте к диаграмме генератор синусоиды и блок задержки.
Установите время задержки равным 5. Отобразите сигнал с гене-ратора и
задержанный сигнал в одном окне осциллографа.
Рис. 19. Использование блока задержки
3
Дополнительные блоки Xcos
Дополнительные
блоки Xcos предоставляются пользовательскими подключа-емыми модулями (см.
раздел 1.7 на стр. 7).
3.1 Спектрограф
Блок FFT SCOPE палитры
модуля bufferblock отображает спектр вход-
ного сигнала, вычисленый на заданном интервале. Для расчёта
спектра исполь-зуется быстрое преобразвание Фурье (БПФ). Если входной сигнал
векторный, блок FFT
SCOPE ведёт себя
аналогично блоку CSCOPE, т.е. рассматривает элемен-ты
вектора, как точки различных сигналов и отображает спектры этих сигналов
в единой системе координат. Параметры
блока:
•
Buffer size размер буфера БПФ (число отсчётов);
• Windowing function type тип оконной функции: 0
(прямоугольная), 1 (Бартлета),
2 (Хемминга), 3 (Ханна), 4 (Блэкмана);
• Averaging number число усредняемых реализаций
спектра: <1 беско-нечность, 1 без усреднения, >1 число усредняемых
реализаций;
•
Autoscale использовать (1) или не использовать (0)
автомасштабирова-ние;
•
Display power spectra отобразить спектр амплитуд (0) или спектр
мощ-ности (1);
•
Semilog x-axis использовать (1) или не использовать
логарифмический масштаб по оси частот;
•
Display grid отображать (1) или не отображать (0) сетку;
•
Amplitude min минимальное значение амплитуды;
•
Amplitude max максимальное значение амплитуды;
•
Refresh period интервал обновления окна спектрографа;
•
Padding value начальное заполнение буфера БПФ;
•
Sampling frequency частота дискретизации.
Значение частоты
дискретизации не влияет на результат БПФ, оно использу-ется для вычисления
масштаба по оси частот.
Подключите модуль bufferblock (см. раздел 1.7 на стр. 7).
Создайте новую диаграмму. Соберите схему генератора одиночного прямоугольного
импульса дли-тельностью 0:8 (см. раздел 2.2.5 на стр. 13). Добавьте к схеме счётчик време-ни,
осциллограф и спектрограф. Установите интервал дискретизации счётчика равным 0:1. Установите размер буфера БПФ
спектрографа равным 1024, пара-метр Display power spectra равным 0 (отобразить спектр амплитуд), Refresh period равным 1 и частоту дискретизации равной 10. Подайте сигнал с выхо-да генератора
одиночного прямоугольного импульса на входы осциллографа и спектрографа.
Установите конечное время моделирования и интервал обновления осциллографа
равными 10.
Рис. 20. Использование спектрографа
Отключите
автомасштабирование окна спектрографа и установите пределы по оси амплитуд от 0
до 8. Медленно уменьшая длительность импульса до значения 0:1 пронаблюдайте за изменением спектра.
4
Краткая справка
4.1 Регистрирующие устройства
CSCOPE осциллограф с одним входом.
Параметры блока:
• Color цвет графиков. Вектор, элементы которого соответствуют номеру цвета
в стандартной палитре. Если указать значение цвета со знаком минус, то вместо
кривых на графике будут отображаться метки.
•
Ymin и Ymax
минимальное и максимальное
значение по оси y.
•
Refresh period интервал обновления осциллографа (размер
отображае-мого промежутка оси времени t).
CMSCOPE осциллограф со многими входами.
Параметры блока:
•
Input port
sizes размерности
входных портов. Вектор, число элемен-тов которого равняется числу входов
осциллографа, а значения элементов задают размерности каждого из входов.
• Drawing colors цвет графиков. Вектор, элементы которого
соответству-ют номеру цвета в стандартной палитре. Если указать значение цвета
со знаком минус, то вместо кривых на графике будут отображаться метки.
• Ymin vector и Ymax vector минимальное и максимальное значение по оси y для каждого входа в отдельности.
• Refresh period интервал обновления
осциллографа (размер отображае-мого промежутка оси времени t) для каждого входа в отдельности.
4.2 Источники
сигналов и воздействий
SampleCLK счётчик времени.
Параметры блока:
•
Sample time интервал дискретизации.
•
offset смещение (задержка включения счётчика).
CONST_m константа;
Параметры блока:
•
Constant Value значение константы.
GENSIN_f генератор синусоиды; Параметры блока:
•
Magnitude амплитуда.
•
Frequency (rad/s) частота
(рад/с).
•
Phase (rad) фаза (рад).
GENSQR_f генератор прямоугольных импульсов; Параметры блока:
•
Amplitude амплитуда.
RAND_m генератор случайных чисел; Параметры блока:
•
Data type (тип выходных данных): 1 действительные числа,
2 ком-плексные;
•
flag флаг, определяющий вид закона распределения: 0
равномерное, 1 нормальное (гауссовское);
•
A и B для равномерного распределения
величина A определяет минималь-ное
значение, а величина A + B
максимальное. Для нормального распре-деления A определяет матожидание, а B среднеквадратическое отклонение
(СКО).
•
SEED числа, используемые для
инициализации машинного генератора псевдослучайных чисел. Первое значение относится к действительной, а
вто-рое к мнимой части выходного сигнала. Два генератора с одинаковым
па-раметром SEED будут выдавать два идентичных
псевдослучайных сигнала.
STEP_FUNCTION функция включения.
Параметры блока:
•
Step time время включения;
•
Initial value начальное значение;
•
Final value конечное значение.
4.3 Обработка
событий
ENDBLK.
•
Final simulation time конечное время моделирования. 21
4.4 Cистемы с непрерывным
временем
INTEGRAL_f интегратор.
Параметры блока:
•
Initial Condition начальное значение.
TIME_DELAY задержка во времени.
Параметры блока:
•
Delay величина задержки.
•
initial input начальное значение выходного сигнала.
• Buffer size размер внутреннего буфера блока, в котором хранятся
отсчё-ты задержанного входного сигнала. Размер буфера должен быть не меньше чем
число отсчётов сигнала за время задержки.
4.5 Математические
операции
ABS_VALUE модуль:
y = jxj:
SIGNUM знаковая функция:
sign(x) =
|
8 0;
|
x = 0;
|
|
>
|
1;
|
x < 0;
|
|
<
|
1;
|
x > 0:
|
|
>
|
|
|
:
BIGSOM_f сумматор:
X
y = gixi
Параметры блока:
• Input ports signs/gain вектор весовых коэффициентов (gi) входных портов. Размерность этого вектора
определяет число портов.
4.6 Маршрутизация
сигналов
MUX мультиплексор. Объединяет данные на своих
входах в один век-
торный выход.
Параметры блока:
• number of input ports or vector of sizes число
входных портов (от 1 до 7).
ISELECT_m селектор.
Параметры блока:
• Data type тип данных: 1 действительные,
2 комплексные и т.д. (со-ответствуют стандартным типам данных Scilab);
•
number of outputs количество выходов;
•
initial connected output
номер изначально подключенного
выхода.
NRMSOM_f шина. Объединяет множество входных потоков в
один
выходной.
Параметры блока:
•
number of inputs число входов.
4.7 Модуль
bufferblock
FFT
SCOPE спектрограф.
Параметры блока:
•
Buffer size размер буфера БПФ (число отсчётов);
• Windowing function type тип оконной функции: 0
(прямоугольная), 1 (Бартлета),
2 (Хемминга), 3 (Ханна), 4 (Блэкмана);
• Averaging number число усредняемых реализаций
спектра: <1 беско-нечность, 1 без усреднения, >1 число усредняемых
реализаций;
•
Autoscale использовать (1) или не использовать (0)
автомасштабирова-ние;
•
Display power spectra отобразить спектр амплитуд (0) или спектр
мощ-ности (1);
•
Semilog x-axis использовать (1) или не использовать логарифмический масштаб
по оси частот;
•
Display grid отображать (1) или не отображать (0) сетку;
•
Amplitude min минимальное значение амплитуды;
•
Amplitude max максимальное значение амплитуды;
•
Refresh period интервал обновления окна спектрографа;
•
Padding value начальное заполнение буфера БПФ;
•
Sampling frequency частота дискретизации.
5
Литература
1.
Scilab/Xcos help pages.
2.
Stephen L.
Campbell, Jean-Philippe Chancelier and Ramine Nikoukhah. Modeling and
Simulation in Scilab/Scicos with ScicosLab 4.4, Second Edition.: Springer,
2010.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.