MATLAB.Exponenta
–Û·Ë͇ Matlab&Toolboxes

Simulink

И.В.Черных. "Simulink: Инструмент моделирования динамических систем"

  В оглавление книги \ К следующему разделу \ К предыдущему разделу

9. Библиотека блоков Simulink

9.1. Sources - источники сигналов

9.1.1. Источник постоянного сигнала Constant

Назначение:
Задает постоянный по уровню сигнал.

Параметры:
1. Constant value - Постоянная величина.
2. Interpret vector parameters as 1-D – Интерпретировать вектор параметров как одномерный (при установленном флажке). Данный параметр встречается у большинства блоков библиотеки Simulink. В дальнейшем он рассматриваться не будет.

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

Рис.  9.1.1 иллюстрирует применение этого источника и измерение его выходного сигнала с помощью цифрового индикатора Display.

Рис. 9.1.1. Источник постоянного воздействия Constant

[Скачать пример]

9.1.2. Источник синусоидального сигнала Sine Wave

Назначение:
Формирует синусоидальный сигнал с заданной частотой, амплитудой, фазой и смещением.

Для формирования выходного сигнала блоком могут использоваться два алгоритма. Вид алгоритма определяется параметром Sine Type (способ формирования сигнала):

  • Time-based – По текущему времени.
  • Sample-based – По величине шага модельного времени.

9.1.2.1. Формирование выходного сигнала по текущему значению времени для непрерывных систем

Выходной сигнал источника в этом режиме соответствует выражению:

y = Amplitude* sin(frequency* time + phase) + bias.

Параметры:

  1. Amplitude - Амплитуда.
  2. Bias – Постоянная составляющая сигнала.
  3. Frequency (rads/sec) - Частота (рад/с).
  4. Phase (rads) - Начальная фаза (рад).
  5. Sample time – Шаг модельного времени. Используется для согласования работы источника и других компонентов модели во времени. Параметр может принимать следующие значения:
    0 (по умолчанию) – Используется при моделировании непрерывных систем.
    > 0 (положительное значение) – Задается при моделировании дискретных систем. В этом случае шаг модельного времени можно интерпретировать как шаг квантования по времени выходного сигнала.
    -1 – Шаг модельного времени устанавливается таким же, как и в предшествующем блоке, т.е. блоке, откуда приходит сигнал в данный блок.
    Этот параметр может задаваться для большинства блоков библиотеки Simulink. В дальнейшем он рассматриваться не будет.

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

9.1.2.2. Формирование выходного сигнала по текущему значению времени для дискретных систем

Алгоритм определения значения выходного сигнала источника для каждого последующего шага расчета определяется выражением (в матричной форме):

,

где D t – постоянная величина, равная значению Sample time.

В данном режиме ошибка округления для больших значений времени также уменьшает точность расчета.

9.1.2.3. Формирование выходного сигнала по величине модельного времени и количеству расчетных шагов на один период

Выходной сигнал источника в этом режиме соответствует выражению:

y= Amplitude* sin[(k + Number of offset samples) / Samples per period] + bias ,

где k – номер текущего шага расчета.

Параметры:

  1. Amplitude - Амплитуда.
  2. Bias – Постоянная составляющая сигнала.
  3. Samples per period – Количество расчетных шагов на один период синусоидального сигнала:
    Samples per period = 2p / (frequency* Sample time)
  4. Number of offset samples – Начальная фаза сигнала. Задается количеством шагов модельного времени:
    Number of offset samples = Phase* Samples per period/ (2p).
  5. Sample time – Шаг модельного времени.

В данном режиме ошибка округления не накапливается, поскольку Simulink начинает отсчет номера текущего шага с нуля для каждого периода.

На Рис. 9.1.2 показано применение блока с разными значениями шага модельного времени (Sample time = 0 для блока Sine Wave 1и Sample time = 0.1 для блока Sine Wave 2). Для отображения графиков выходных сигналов в модели использован виртуальный осциллограф (Scope).

Рис. 9.1.2. Блок Sine Wave

[Скачать пример]

9.1.3. Источник линейно изменяющегося воздействия Ramp

Назначение:
Формирует линейный сигнал вида y = Slope* time + Initial value.

Параметры:

    1. Slope — Скорость изменения выходного сигнала.

    2. Start time — Время начала формирования сигнала.

    3. Initial value — Начальный уровень сигнала на выходе блока.

На Рис. 9.1.3. показано использование данного блока.

Рис. 9.1.3. Блок Ramp

[Скачать пример]

9.1.4. Генератор ступенчатого сигнала Step

Назначение:
Формирует ступенчатый сигнал.

Параметры:

  1. Step time - Время наступления перепада сигнала (с).
  2. Initial value - Начальное значение сигнала.
  3. Final value - Конечное значение сигнала.

Перепад может быть как в большую сторону (конечное значение больше чем начальное), так и в меньшую (конечное значение меньше чем начальное). Значения начального и конечного уровней могут быть не только положительными, но и отрицательными (например, изменение сигнала с уровня –5 до уровня –3).

На Рис. 9.1.4. показано использование генератора ступенчатого сигнала.

Рис. 9.1.4. Блок Step

[Скачать пример]

9.1.5. Генератор сигналов Signal Generator

Назначение:
Формирует один из четырех видов периодических сигналов:

  1. sine — Синусоидальный сигнал.
  2. square — Прямоугольный сигнал.
  3. sawtooth — Пилообразный сигнал.
  4. random — Случайный сигнал.

Параметры:

  1. Wave form – Вид сигнала.
  2. Amplitude – Амплитуда сигнала.
  3. Frequency - Частота (рад/с).
  4. Units – Единицы измерения частоты. Может принимать два значения:
    - Hertz - Гц.
    - rad/sec – рад/с.

На Рис. 9.1.5. показано применение этого источника при моделировании прямоугольного сигнала.

Рис. 9.1.5. Блок генератора сигналов

[Скачать пример]

9.1.6. Источник случайного сигнала с равномерным распределением Uniform Random Number

Назначение:
Формирование случайного сигнала с равномерным распределением.

Параметры :

  1. Minimum – Минимальный уровень сигнала.
  2. Maximum – Максимальный уровень сигнала.
  3. Initial seed – Начальное значение.

Пример использования блока и график его выходного сигнала представлен на Рис. 9.1.6.

Рис. 9.1.6. Источник случайного сигнала с равномерным распределением

[Скачать пример]

9.1.7. Источник случайного сигнала с нормальным распределением Random Number

Назначение:
Формирование случайного сигнала с нормальным распределением уровня сигнала.

Параметры:

  1. Mean - Среднее значение сигнала
  2. Variance- Дисперсия (среднеквадратическое отклонение).
  3. Initial seed – Начальное значение.

Рис. 9.1.7. Источник случайного сигнала с нормальным распределением

[Скачать пример]

9.1.8. Источник импульсного сигнала Pulse Generator

Назначение:
Формирование прямоугольных импульсов.

Параметры:

  1. Pulse Type – Способ формирования сигнала. Может принимать два значения:
    - Time-based – По текущему времени.
    - Sample-based – По величине модельного времени и количеству расчетных шагов.
  2. Amplitude — Амплитуда.
  3. Period — Период. Задается в секундах для Time-based Pulse Type или в шагах модельного времени для Sample-based Pulse Type.
  4. Pulse width — Ширина импульсов. Задается в в % по отношению к периоду для Time-based Pulse Type или в шагах модельного времени для Sample-based Pulse Type.
  5. Phase delay — Фазовая задержка. Задается в секундах для Time-based Pulse Type или в шагах модельного времени для Sample-based Pulse Type.
  6. Sаmple time — Шаг модельного времени. Задается для Sample-based Pulse Type.

Пример использования Pulse Generator показан на рис. 9.1.8.

Рис. 9.1.8. Источник прямоугольных импульсов

[Скачать пример]

9.1.9. Генератор линейно-изменяющейся частоты Chirp Generator

Назначение:
Формирование синусоидальных колебаний, частота которых линейно изменяется.

Параметры:

  1. Initial frequence — Начальная частота (Гц);
  2. Target time — Время изменения частоты (с);
  3. Frequence at target time — Конечное значение частоты (Гц).

Пример использования блока показан на Рис. 9.1.9.

Рис. 9.1.9. Генератор линейно-изменяющейся частоты

[Скачать пример]

9.1.10. Генератор белого шума Band-Limited White Noice

Назначение:
Создает сигнал заданной мощности, равномерно распределенной по частоте.

Параметры:

  1. Noice Power – Мощность шума.
  2. Sample Time – Модельное время.
  3. Seed - Число, необходимое для инициализации генератора случайных чисел.

Рис. 9.1.10 показывает работу этого генератора.

Рис. 9.1.10. Генератор белого шума

[Скачать пример]

9.1.11. Источник временного сигнала Clock

Назначение:
Формирует сигнал, величина которого на каждом шаге расчета равна текущему времени моделирования.

Параметры

  1. Decimation - Шаг, с которым обновляются показания времени на изображении источника (в том случае, если установлен флажок параметра Display time). Параметр задается как количество шагов расчета. Например, если шаг расчета модели в окне диалога Simulation parameters установлен равным 0.01 с, а параметр Decimation блока Clock задан равным 1000, то обновление показаний времени будет производиться каждые 10 с модельного времени.
  2. Display time - Отображение значения времени в блоке источника.

На рис. 9.1.11 показан пример работы данного источника.

Рис. 9.1.11. Источник временного сигнала

[Скачать пример]

9.1.12. Цифровой источник времени Digital Clock

Назначение:
Формирует дискретный временной сигнал.

Параметр:

Sample time – Шаг модельного времени (с).

На Рис. 9.1.12 показана работа источника Digital Clock.

Рис. 9.1.12. Цифровой источник временного сигнала

[Скачать пример]

9.1.13. Блок считывания данных из файла From File

Назначение:
Получение данных из внешнего файла.

Параметры:

  1. File Name - Имя файла с данными.
  2. Sample time - Шаг изменения выходного сигнала блока.

Данные в файле должны быть представлены в виде матрицы:

.

Матрица должна состоять, как минимум, из двух строк. Значения времени записаны в первой строке матрицы, а в остальных строках находятся значения сигналов, соответствующие данным моментам времени. Значения времени должны быть записаны в возрастающем порядке. Выходной сигнал блока содержит только значения сигналов, а значения времени в нем отсутствуют. Если шаг расчета текущей модели не совпадает с отсчетами времени в файле данных, то Simulink выполняет линейную интерполяцию данных.

Файл данных (mat-файл), из которого считываются значения, не является текстовым. Структура файла подробно описана в справочной системе MATLAB. Пользователям Simulink удобнее всего создавать mat-файл с помощью блока To File (библиотека Sinks). На рис. 9.1.13 показан пример использования данного блока. Из файла data.mat считываются значения синусоидального сигнала.

Рис. 9.1.13. Блок From File

[Скачать пример]

9.1.14. Блок считывания данных из рабочего пространства From Workspace

Назначение:
Получение данных из рабочего пространства MATLAB.

Параметры:

  1. Data – Имя переменной (матрицы или структуры) содержащей данные.
  2. Sample time - Шаг изменения выходного сигнала блока.
  3. Interpolate data — Интерполяция данных для значений модельного времени не совпадающих со значениями в переменной Data.
  4. Form output after final data value by – Вид выходного сигнала по окончании значений времени в переменной Data:
    - Extrapolate – Линейная экстраполяция сигналов.
    - SettingToZero – Нулевые значения сигналов.
    - HoldingFinalValue – Выходные значения сигналов равны последним значениям.
    - CyclicRepetition – Циклическое повторение значений сигналов. Данный вариант может использоваться, только если переменная Data имеет формат Structure without time.

На рис. 9.1.14 показан пример использования данного блока. Данные в переменную simin рабочей области MATLAB загружаются из файла с помощью блока Read data.

Рис. 9.1.14. Блок From File

[Скачать пример]

9.1.15. Блок сигнала нулевого уровня Ground

Назначение:
Формирование сигнала нулевого уровня.

Параметры:

Нет.

Если какой-либо вход блока в модели не подсоединен, то при выполнении моделирования в главном окне MATLAB появляется предупреждающее сообщение. Для устранения этого на неподключенный вход блока можно подать сигнал с блока Ground.

На рис. 9.1.15 даны примеры использования блока. В первом случае сигнал с блока Ground поступает на один из входов сумматора, а во втором на один из входов блока умножения. Показания блоков Display подтверждают, что вырабатываемый блоком Ground сигнал имеет нулевое значение. Из рисунка также видно, что тип выходного сигнала блока устанавливается автоматически, в соответствии с типами сигналов, подаваемых на другие входы блоков (в данном случае – на входы блоков Sum и Product).

Рис. 9.1.15. Применение блока Ground

[Скачать пример]

9.1.16. Блок периодического сигнала Repeating Sequence

Назначение:
Формирование периодического сигнала.

Параметры:

  1. Time values – Вектор значений модельного времени.
  2. Output values – Вектор значений сигнала для моментов времени заданных вектором Time values.

Блок выполняет линейную интерполяцию выходного сигнала для моментов времени не совпадающих со значениями заданными вектором Time values. На рис. 9.1.16 показан пример использования блока для формирования пилообразного сигнала. Значения модельного времени заданы вектором [0 3], а значения выходного сигнала вектором [0 2].

Рис. 9.1.16. Использование блока Repeating Sequence

[Скачать пример]

9.1.17. Блок входного порта Inport

Назначение:

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

Параметры:

  • Port number – Номер порта.
  • Port dimensions – Размерность входного сигнала. Если этот параметр равен –1, то размерность входного сигнала будет определяться автоматически.
  • Sample time –Шаг модельного времени.
  • Data type – Тип данных входного сигнала: auto, double, single, int8, uint8, int16, uint16, int32, uint32 или boolean.
  • Signal type – Тип входного сигнала:
  1. auto – Автоматическое определение типа.
  2. real –Действительный сигнал.
  3. complex- Комплексный сигнал.
  • Interpolate data (флажок) – Интерполировать входной сигнал. В случае, если временные отсчеты входного сигнала считываемого из рабочей области MATLAB не совпадают с модельным временем, то блок будет выполнять интерполяцию входного сигнала. При использовании блока Inport в подсистеме данный параметр не доступен.

9.1.17.1. Использование блока Inport в подсистемах

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

При создании подсистем и добавлении блока Inport в подсистему Simulink использует следующие правила:

    1. При создании подсистемы с помощью команды Edit/Create subsystem входные порты создаются и нумеруются автоматически начиная с 1.
    2. Если в подсистему добавляется новый блок Inport, то ему присваивается следующий по порядку номер.
    3. Если какой либо блок Inport удаляется, то остальные порты переименовываются таким образом, чтобы последовательность номеров портов была непрерывной.
    4. Если в последовательности номеров портов имеется разрыв, то при выполнении моделирования Simulink выдаст сообщение об ошибке и остановит расчет. В этом случае необходимо вручную переименовать порты таким образом, чтобы последовательность номеров портов не нарушалась.

На рис. 9.1.17 показана модель, использующая подсистему и схема этой подсистемы.

Рис. 9.1.17. Использование блока Inport в подсистеме

[Скачать пример]

9.1.17.2. Использование блока Inport в модели верхнего уровня

Входной порт в системе верхнего уровня используется для передачи сигнала из рабочей области MATLAB в модель.

Для передачи сигнала из рабочего пространство MATLAB требуется не только установить в модели входной порт, но и выполнить установку параметров ввода на вкладке Workspace I/O окна диалога Simulation parameters… (должен быть установлен флажок для параметра Input и задано имя переменной, которая содержит входные данные). Тип вводимых данных: Array (массив), Structure (структура) или Structure with time (структура с полем "время") задается на этой же вкладке.

На рис. 9.1.18 показана модель, считывающая входной сигнал из рабочего пространства MATLAB. Подсистема Load Data обеспечивает ввод данных из файла в рабочую область MATLAB.

Рис. 9.1.18. Модель, считывающая входной сигнал из рабочего пространства MATLAB с помощью блока Input.

[Скачать пример]

В оглавление книги \ К следующему разделу \ К предыдущему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика