Функции генерации сигналов

В блоке Test Sequence можно сгенерировать сигналы для проверки.

  1. Задайте символ выходных данных на панели Data Symbols.

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

Можно вызвать внешние функции из блока Test Sequence. Определите функцию в скрипте на MATLAB® Путь и вызов функцию в тестовой последовательности.

Синусоидальные и случайные числовые функции в тестовых последовательностях

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

Шаг Sine выводит синусоиду с периодом 10 секунд, заданным аргументом et*2*pi/10. Шаг Random выводит случайное число в интервале -0.5 to 0.5.

Тестовая последовательность формирует сигнал sg.

Использование внешней функции из блока тестовой последовательности

В этом примере показано, как вызвать определенную извне функцию из блока Test Sequence. Определите функцию в скрипте на пути MATLAB ® и вызовите функцию из тестовой последовательности.

В этом примере шаг ReducedSine уменьшает сигнал sg использование функции Attenuate.

Тестовая последовательность формирует сигнал sg и ослабленный сигнал asg.

Функции генерации сигналов

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

ФункцияСинтаксисОписаниеПример
squaresquare(x)

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

В пределах интервала 0 <= x < 1, square(x) возвращает значение 1 для 0 <= x < 0.5и –1 для 0.5 <= x < 1.

square не поддерживается в Stateflow® чарты.

Вывод квадратной волны с периодом 10 с:

square(et/10)
sawtoothsawtooth(x)

Представляет выход пилообразной волны с периодом 1 и область значений –1 на 1.

В пределах интервала 0 <= x < 1, sawtooth(x) увеличивается.

sawtooth не поддерживается в диаграммах Stateflow.

Вывод пилообразной волны с периодом 10 с:

sawtooth(et/10)
triangletriangle(x)

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

В пределах интервала 0 <= x < 0.5, triangle(x) увеличивается.

triangle не поддерживается в диаграммах Stateflow.

Вывод треугольной волны с периодом 10 с:

triangle(et/10)
rampramp(x)

Представляет сигнал наклона 1, возвращая значение пандуса в момент времени x.

ramp(et) эффективно возвращает истекшее время тестового шага.

ramp не поддерживается в диаграммах Stateflow.

Наклоните один модуль на каждые 5 секунд истечения тестового шага:

ramp(et/5)
heavisideheaviside(x)

Представляет тяжелый сигнал шага , возвращаясь 0 для x < 0 и 1 для x >= 0.

heaviside не поддерживается в диаграммах Stateflow.

Вывод сигнала тяжести после 5 секунды:

heaviside(et-5)
latchlatch(x)

Сохраняет значение x в первый раз latch(x) оценивает в тестовом шаге и впоследствии возвращает сохраненное значение x. Сбрасывает сохраненное значение x когда шаг выходит. Переоценка latch(x) когда шаг будет следующим активным.

latch не поддерживается в диаграммах Stateflow.

Защелка b к значению torque:

b = latch(torque)
sinsin(x)

Возвращает синус x, где x находится в радианах.

Синусоида с периодом 10 секунд:

sin(et*2*pi/10)
coscos(x)

Возвращает косинус x, где x находится в радианах.

Косинусоидная волна с периодом 10 секунд:

cos(et*2*pi/10)
randrand

Равномерно распределенные псевдослучайные значения

Сгенерируйте новые случайные значения для каждой симуляции путем объявления rand extrinsic с coder.extrinsic. Присвойте случайное число локальной переменной. Для примера:

coder.extrinsic('rand')
nr = rand
sg = a + (b-a)*nr
randnrandn

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

Сгенерируйте новые случайные значения для каждой симуляции путем объявления randn extrinsic с coder.extrinsic. Присвойте случайное число локальной переменной. Для примера:

coder.extrinsic('randn')
nr = randn
sg = nr*2
expexp(x)

Возвращает естественную экспоненциальную функцию, ex.

Экспоненциальный сигнал, прогрессирующий в одну десятую времени истечения тестового шага:

exp(et/10)

См. также

|

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте