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

Pulse Generator

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

pulse generator

Описание

Блок Pulse Generator генерирует прямоугольные импульсы с регулярными интервалами. Параметры формы сигнала блока Amplitude, Pulse Width, Period и Phase delay определяют форму выходного сигнала. На следующей диаграмме показано, как каждый параметр влияет на форму сигнала.

pulse generator parameter effects

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

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

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

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

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

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

Блок не поддерживает конфигурацию, которая приводит к постоянному выходному сигналу. Engee возвращает ошибку, если параметры Pulse Width и Period удовлетворяют любому из этих условий:

Блок Pulse Generator в режиме Time based Simulation Time является дискретным, хотя у него нет поля Sample time. В качестве Sample time блок выбирает такое значение, которое будет укладываться одновременно целое количество раз и в ширину импульса и в период, чтобы не пропустить значения. Формула следующая:

Если для блока установлен режим Time based External Signal, то все параметры, кроме Amplitude, должны быть кратны пришедшему на вход блоку Sample time, чтобы также не пропускать значения.

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

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

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

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

Блок не поддерживает режим Sample Based External Signal

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

Порты

Вход

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

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

Зависимости

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

Выход

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

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

Типы данных: Float64

Параметры

Pulse type — режим работы
Time based (по умолчанию) | Sample based

Режим работы блока: Time based или Sample based.

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

Программное использование

Параметр блока:

PulseType

Значение:

Time based | Sample based

По умолчанию:

Time based

Time (t) — источник времени
Use simulation time (по умолчанию) | Use external signal

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

Use simulation time — блок генерирует выходной сигнал на основе времени симуляции.

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

Программное использование

Параметр блока:

TimeSource

Значение:

Use simulation time | Use external signal

По умолчанию:

Use simulation time

Amplitude — амплитуда сигнала
1 (по умолчанию) | скаляр | вектор | матрица

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

Программное использование

Параметр блока:

Amplitude

Значение:

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

По умолчанию:

1

Period (secs) — период импульсов
10 (по умолчанию) | скаляр | вектор | матрица

Период импульса задается в секундах, если для параметра Pulse type установлено значение Time based.

Программное использование

Параметр блока:

Period

Значение:

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

По умолчанию:

10

Period (number of samples) — период импульсов
10 (по умолчанию) | скаляр | вектор | матрица

Если для параметра Pulse type установлено значение Sample based, то период задается как количество шагов выборки.

Программное использование

Параметр блока:

PeriodNum

Значение:

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

По умолчанию:

10

Pulse Width (% of period) — ширина импульса
5 (по умолчанию) | скаляр | вектор | матрица

Ширина импульса определяется как:

  • доля в процентах от периода, если для параметра Pulse type установлено значение Time based.

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

Программное использование

Параметр блока:

PulseWidth

Значение:

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

По умолчанию:

5

Pulse Width (number of samples) — ширина импульса
5 (по умолчанию) | скаляр | вектор | матрица

Ширина импульса определяется как:

  • количество шагов расчета, если для параметра Pulse type установлено значение Sample based.

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

Программное использование

Параметр блока:

PulseWidthNum

Значение:

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

По умолчанию:

5

Phase Delay (secs) — задержка перед первым импульсом
0 (по умолчанию) | скаляр

Задержка перед генерацией первого импульса, указанная в секундах, если для параметра Pulse type установлено значение Time based.

Программное использование

Параметр блока:

PhaseDelay

Значение:

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

По умолчанию:

0

Phase Delay (number of samples) — задержка перед первым импульсом
0 (по умолчанию) | скаляр

Задержка перед генерацией первого импульса, указанная как количество шагов расчета, если для параметра Pulse type установлено значение Sample based.

Программное использование

Параметр блока:

PhaseDelayNum

Значение:

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

По умолчанию:

0

Sample time — интервал между шагами расчета
-1 (по умолчанию) | скаляр

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

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

Зависимости

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

Программное использование

Параметр блока:

SampleTime

Значение:

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

По умолчанию:

0

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

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

Примеры