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

В блоке 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)

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

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

Выведите сигнал heaviside после 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 значение внешних параметров с coder.extrinsic. Присвойте случайное число локальной переменной. Например:

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

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

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

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

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

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

exp(et/10)

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

|

Похожие темы