Документация Engee

Генератор прямоугольных импульсов

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

Тип: PulseGenerator

Путь в библиотеке:

/Basic/Sources/Pulse Generator

Описание

Блок Генератор прямоугольных импульсов генерирует прямоугольные импульсы с регулярными интервалами. Параметры формы сигнала блока Амплитуда, Период (сек) (Период (количество шагов расчета)), Ширина импульса (% периода) (Ширина импульса (количество шагов расчета)) и Задержка перед первым импульсом (сек) (Задержка перед первым импульсом (количество шагов расчёта)) определяют форму выходного сигнала. На следующей диаграмме показано, как каждый параметр влияет на форму сигнала.

pulse generator parameter effects

Блок Генератор прямоугольных импульсов может выдавать скалярные, векторные или матричные сигналы. Чтобы сгенерировать скалярный сигнал, используйте скаляры для задания параметров формы сигнала. Чтобы сгенерировать сигнал вектора или матрицы, используйте векторы или матрицы соответственно. Каждый элемент параметров формы сигнала влияет на соответствующий элемент выходного сигнала. Например, первый элемент параметра амплитуды вектора определяет амплитуду первого элемента выходного импульса вектора.

Блок может работать в двух режимах, определяемых параметром Тип импульса:

  • Режим на основе времени симуляции (На основе времени).

  • Режим на основе шагов расчета (На основе шагов расчета).

Режим на основе времени симуляции

В режиме на основе времени симуляции Engee вычисляет значение выходного сигнала блока только тогда, когда выходные данные фактически изменяются. Этот подход приводит к меньшему количеству вычислений. Для включения этого режима установите параметр Тип импульса в значение На основе времени.

Блок не поддерживает конфигурацию, которая приводит к постоянному выходному сигналу. Engee возвращает ошибку, если параметры Ширина импульса (% периода) и Период (сек) удовлетворяют любому из этих условий:

Блок Генератор прямоугольных импульсов в режиме На основе времени и Использовать время моделирования является дискретным, хотя у него нет поля Период дискретизации. В качестве Период дискретизации блок выбирает такое значение, которое будет укладываться одновременно целое количество раз и в ширину импульса и в период, чтобы не пропустить значения, используя следующую формулу:

Если для блока установлен режим На основе времени и Использовать внешний сигнал, то все параметры, кроме Амплитуда, должны быть кратны пришедшему на вход блоку Период дискретизации, чтобы также не пропускать значения.

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

Режим на основе шагов расчета

В режиме на основе шагов расчета блок вычисляет свои выходные параметры через фиксированные интервалы, заданные параметрами блока. Для включения этого режима установите параметр Тип импульса в значение На основе шагов расчета.

В режиме На основе шагов расчета блок всегда дискретный.

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

Порты

Выход

# OUT_1 — сгенерированный выходной сигнал
скаляр | вектор | матрица

Details

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

Типы данных

Float64

Поддержка комплексных чисел

Нет

Вход

# t — время
скаляр | вектор | матрица

Details

Источник времени для вычисления значения сигнала.

Зависимости

Чтобы использовать этот порт, установите для параметра Время (t) значение Использовать внешний сигнал.

Типы данных

Float64

Поддержка комплексных чисел

Нет

Параметры

Основные

# Тип импульса — режим работы
На основе времени | На основе шагов расчета

Details

Режим работы блока: На основе времени или На основе шагов расчета.

Некоторые параметры активны в зависимости от того, какой режим выбран.

Значения

Time based | Sample based

Значение по умолчанию

Time based

Имя для программного использования

PulseType

Настраиваемый

Нет

Вычисляемый

Нет

# Время (t) — источник времени
Использовать время моделирования | Использовать внешний сигнал

Details

Выбор источника времени для вычисления значения сигнала:

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

  • Использовать внешний сигнал — блок генерирует выходной импульс на основе значения на входном порту t (может отличаться от времени симуляции). На значке блока отображается входной порт для подключения источника.

Значения

Use simulation time | Use external signal

Значение по умолчанию

Use simulation time

Имя для программного использования

TimeSource

Настраиваемый

Нет

Вычисляемый

Нет

# Амплитуда — амплитуда сигнала
Скаляр / массив вещественных и/или комплексных чисел

Details

Амплитуда сгенерированного сигнала.

Значение по умолчанию

1

Имя для программного использования

Amplitude

Настраиваемый

Да

Вычисляемый

Да

# Период (сек) — период импульсов
Скаляр / массив вещественных и/или комплексных чисел

Details

Период импульсов в секундах.

Зависимости

Чтобы использовать этот параметр, установите для параметра Тип импульса значение На основе времени.

Значение по умолчанию

10

Имя для программного использования

Period

Настраиваемый

Да

Вычисляемый

Да

# Период (количество шагов расчета) — период импульсов
Скаляр / массив вещественных и/или комплексных чисел

Details

Период импульсов в количестве шагов расчета.

Зависимости

Чтобы использовать этот параметр, установите для параметра Тип импульса значение На основе шагов расчета.

Значение по умолчанию

10

Имя для программного использования

PeriodNum

Настраиваемый

Да

Вычисляемый

Да

# Ширина импульса (% периода) — ширина импульса
Скаляр / массив вещественных и/или комплексных чисел

Details

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

Значение должно быть в диапазоне [0,100].

Зависимости

Чтобы использовать этот параметр, установите для параметра Тип импульса значение На основе времени.

Значение по умолчанию

5

Имя для программного использования

PulseWidth

Настраиваемый

Да

Вычисляемый

Да

# Ширина импульса (количество шагов расчета) — ширина импульса
Скаляр / массив вещественных и/или комплексных чисел

Details

Ширина импульса в количестве шагов расчета.

Значение должно быть в диапазоне [0,100].

Зависимости

Чтобы использовать этот параметр, установите для параметра Тип импульса значение На основе шагов расчета.

Значение по умолчанию

5

Имя для программного использования

PulseWidthNum

Настраиваемый

Да

Вычисляемый

Да

# Задержка перед первым импульсом (сек) — задержка перед первым импульсом
Скаляр / массив вещественных и/или комплексных чисел

Details

Задержка перед генерацией первого импульса в секундах.

Зависимости

Чтобы использовать этот параметр, установите для параметра Тип импульса значение На основе времени.

Значение по умолчанию

0

Имя для программного использования

PhaseDelay

Настраиваемый

Нет

Вычисляемый

Да

# Задержка перед первым импульсом (количество шагов расчёта) — задержка перед первым импульсом
Скаляр / массив вещественных и/или комплексных чисел

Details

Задержка перед генерацией первого импульса в количестве шагов расчета.

Зависимости

Чтобы использовать этот параметр, установите для параметра Тип импульса значение На основе шагов расчета.

Значение по умолчанию

0

Имя для программного использования

PhaseDelayNum

Настраиваемый

Нет

Вычисляемый

Да

# Период дискретизации — интервал между шагами расчета
SampleTime (вещественное число / вектор из двух вещественных чисел)

Details

Укажите интервал между шагами расчета как неотрицательное число.

Чтобы наследовать шаг расчета, установите для этого параметра значение −1.

Зависимости

Чтобы использовать этот параметр, установите для параметра Тип импульса значение На основе шагов расчета.

Значение по умолчанию

1

Имя для программного использования

SampleTime

Настраиваемый

Нет

Вычисляемый

Да

Дополнительные возможности

Генерация Си кода: Да