Сгенерируйте тестовые сигналы

В блоке Test Sequence можно сгенерировать сигналы использовать для тестирования. Во-первых, задайте символ выходных данных с помощью панели Data Symbols, и затем используйте то выходное имя с функцией генерации сигнала на тестовом шаге. Для получения информации о добавляющих символах смотрите, Управляют Входом, Выходом и Объектами данных. Для примера, который показывает, как реализовать функции сигнала в блоке Test Sequence, смотрите Функции Синусоидального и Случайного числа в Тестовых Последовательностях

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

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

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

Примечание

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

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

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

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

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

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

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

cos(et*2*pi/10)
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)

Heaviside продвигаются сигнал, возвращая 0 для x < 0 и 1 для x >= 0.

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

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

heaviside(et-5)
expexp(x)

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

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

exp(et/10)
randrand

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

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

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

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

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

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

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

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

Фиксируйте b к значению torque:

b = latch(torque)

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

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

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

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

Смотрите также

|

Похожие темы

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