Импульсная модуляция ширины с использованием MATLAB System Block

В этом примере показано, как использовать системный блок MATLAB для генерации сигналов модуляции ширины импульса (PWM) на основе входного периода и сигналов коэффициента заполнения при помощи управляемого шага расчета и setNumTicksUntilNextHit.

В этом примере блок MATLAB System регистрирует управляемый шаг расчета, чтобы она могла запланировать следующее попадание при изменении значения выхода. В этом примере блок MATLAB System имеет два входных порта и один выходной порт. Первый входной порт является сигналом коэффициента заполнения, а второй входной порт является сигналом периода. Блок MATLAB System имеет два параметров блоков: амплитуду сгенерированного сигнала PWM и разрешение управляемого шага расчета.

В этом примере системный блок MATLAB демонстрирует использование функции: * createSampleTime (obj, 'Type', 'Controllable', 'TickTime', obj. Разрешение), чтобы\зарегистрировать управляемый шаг расчета в методе getSampleTimeImpl. Разрешение должно быть положительным конечным целым числом, которое определяет основной размер шага, который блок MATLAB System может запланировать следующее попадание на этот шаг расчета.

MATLAB System Block демонстрирует использование метода * setNumTicksUntilNextHit (obj, numTicks), чтобы запланировать следующее попадание управляемого шага расчета. Следующее попадание происходит после разрешения t = t_current + numTicks *. numTicks должны быть положительным целым числом. Блок MATLAB System может использовать этот метод, чтобы запланировать выполнение управляемого шага расчета в setupImpl и stepImpl.