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

Pulse Generator

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

Тип: PulseGenerator

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

/Basic/Sources/Pulse Generator

Описание

Блок Pulse Generator генерирует прямоугольные импульсы с регулярными интервалами. Параметры формы сигнала блока Amplitude, Period (secs) (Period (number of samples)), Pulse Width (% of period) (Pulse Width (number of samples)) и Phase Delay (secs) (Phase Delay (number of samples)) определяют форму выходного сигнала. На следующей диаграмме показано, как каждый параметр влияет на форму сигнала.

pulse generator parameter effects

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Порты

Выход

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

Details

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

Типы данных

Float64

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

Нет

Вход

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

Details

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

Зависимости

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

Типы данных

Float64

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

Нет

Параметры

Основные

# Pulse type — режим работы
Time based | Sample based

Details

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

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

Значения

Time based | Sample based

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

Time based

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

PulseType

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

Нет

Вычисляемый

Нет

# Time (t) — источник времени
Use simulation time | Use external signal

Details

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

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

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

Значения

Use simulation time | Use external signal

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

Use simulation time

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

TimeSource

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

Нет

Вычисляемый

Нет

# Amplitude — амплитуда сигнала
Scalar / array of real and/or complex numbers

Details

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

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

1

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

Amplitude

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

Да

Вычисляемый

Да

# Period (secs) — период импульсов
Scalar / array of real and/or complex numbers

Details

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

Зависимости

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

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

10

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

Period

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

Да

Вычисляемый

Да

# Period (number of samples) — период импульсов
Scalar / array of real and/or complex numbers

Details

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

Зависимости

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

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

10

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

PeriodNum

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

Да

Вычисляемый

Да

# Pulse Width (% of period) — ширина импульса
Scalar / array of real and/or complex numbers

Details

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

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

Зависимости

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

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

5

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

PulseWidth

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

Да

Вычисляемый

Да

# Pulse Width (number of samples) — ширина импульса
Scalar / array of real and/or complex numbers

Details

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

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

Зависимости

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

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

5

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

PulseWidthNum

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

Да

Вычисляемый

Да

# Phase Delay (secs) — задержка перед первым импульсом
Scalar / array of real and/or complex numbers

Details

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

Зависимости

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

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

0

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

PhaseDelay

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

Нет

Вычисляемый

Да

# Phase Delay (number of samples) — задержка перед первым импульсом
Scalar / array of real and/or complex numbers

Details

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

Зависимости

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

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

0

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

PhaseDelayNum

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

Нет

Вычисляемый

Да

# Sample time — интервал между шагами расчета
SampleTime (real number / vector of two real numbers)

Details

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

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

Зависимости

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

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

1

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

SampleTime

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

Нет

Вычисляемый

Да

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

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