settlingtime
Время установления двухуровневых сигналов.
| Библиотека |
|
Синтаксис
Вызов функции
-
s = settlingtime(x, d)— возвращает время от момента среднего опорного уровня до момента, в который каждый переход наступает и остается в пределах2%-ной области допуска от конечного состояния в течение времениd. Для определения переходов функцияsettlingtimeоценивает уровни состояний входного сигнала методом гистограммы и идентифицирует все области, пересекающие верхнюю границу низкого состояния и нижнюю границу высокого состояния.Если для какого-либо перехода уровень сигнала выходит за пределы нижней и верхней границ допуска, запрошенная длительность отсутствует или обнаружен промежуточный переход, то функция settlingtimeотмечает соответствующий элемент вsкакNaN. Случаи, когдаsettlingtimeвозвращаетNaN, см. в разделе Длительность поиска установления.
-
___ = settlingtime(___, Name,Value)— возвращает время установленияs, уровниslevи соответствующие моменты времениsinstс дополнительными параметрами, заданными одним или несколькими аргументами типаName,Value. Вы можете указать входную комбинацию из любого из приведенных выше вариантов синтаксиса.
Аргументы
Входные аргументы
#
x —
двухуровневый сигнал
вектор
Details
Двухуровневый сигнал, заданный как вещественный вектор. Первый отсчет времени по оси равен .
#
d —
длительность поиска установления, с
положительный скаляр
Details
Длительность поиска установления в секундах, заданная как положительный скаляр. Этот аргумент определяет длительность периода после момента среднего опорного уровня, в течение которого функция settlingtime ищет время установления. Если в течение d секунд после момента среднего опорного уровня время установления не наступает, то функция возвращает NaN. Подробнее см. в разделах Время установления и Длительность поиска установления.
#
Fs —
частота дискретизации, Гц
скаляр
Details
Частота дискретизации в Гц, заданная как положительный вещественный скаляр.
Входные аргументы «имя-значение»
Укажите необязательные пары аргументов в формате Name, Value, где Name — имя аргумента, а Value — соответствующее значение. Аргументы типа «имя-значение» должны располагаться после других аргументов, но порядок пар не имеет значения.
Используйте запятые для разделения имени и значения, а Name заключите в кавычки.
Пример: settlingtime([4,3,2,1,1,1], 2, "MidPercentReferenceLevel", 30).
#
MidPercentReferenceLevels —
средний опорный уровень в процентах
50 (по умолчанию) | скаляр
Details
Средний опорный уровень в процентах от амплитуды сигнала, заданный как скаляр. Подробнее см. в разделе Средний опорный уровень.
#
StateLevels —
низкий и высокий уровни состояний
двухэлементный вектор-строка
Details
Низкий и высокий уровни состояний, заданные как двухэлементный вектор-строка. Первый и второй элементы вектора соответствуют низкому и высокому уровням состояний. Если параметр StateLevels не указан, то функция оценивает уровни состояний по входному сигналу, используя метод гистограммы.
#
Tolerance —
уровни допуска
2 (по умолчанию) | скаляр
Details
Уровни допуска (верхняя и нижняя границы уровней состояний), заданные как скаляр и выраженные в процентах. Границы нижнего и верхнего состояний выражаются как уровень состояния плюс или минус значение, кратное разнице между уровнями состояний. Подробнее см. в разделе Допуски уровней состояний.
#
out —
тип выходных данных
:data (по умолчанию) | :plot
Details
Тип выходных данных. Чтобы использовать этот аргумент, используйте следующий синтаксис:
-
out=:plot— функция возвращает график; -
out=:data— функция возвращает данные.
Примеры:
import EngeeDSP.Functions: settlingtime
settlingtime([4,3,2,1,1,1], 2,"MidPercentReferenceLevel", 30, out=:data)
(0.5544000000000002, 1.0545999999999998, 3.9454000000000002)
import EngeeDSP.Functions: settlingtime
settlingtime([4,3,2,1,1,1], 2,"MidPercentReferenceLevel", 30, out=:plot)

Выходные аргументы
#
s —
время установления
вектор
Details
Время установления, возвращаемое в виде вектора. Время установления соответствует времени от момента среднего опорного уровня до момента, когда каждый переход входит в область допуска 2% от конечного состояния в течение d. Длина вектора s равна количеству обнаруженных переходов во входном двухуровневом сигнале x.
Поскольку settlingtime использует интерполяцию для определения момента среднего опорного уровня, s может содержать значения, которые не соответствуют моментам отсчетов.
|
#
slev —
значения сигнала в точках установления
вектор
Details
Значения сигнала в точках установления, возвращаемые в виде вектора.
#
sinst —
моменты времени в точках установления
вектор
Details
Моменты времени в точках установления, возвращаемые в виде вектора.
Дополнительно
Время установления
Details
Время установления — это время после момента достижения среднего опорного уровня, когда сигнал переходит в область 2% допуска относительно уровня состояния и остается в ней. Время установления показано на этом рисунке, где уровни низкого и высокого состояний обозначены черными штриховыми линиями, 2% допуски выше и ниже уровней состояния обозначены красными штриховыми линиями, а точка установления обозначена желтым кругом.
Средний опорный уровень
Details
Средний опорный уровень в двухуровневой форме сигнала с низким уровнем и высоким уровнем равен
Момент среднего опорного уровня
Details
Момент среднего опорного уровня:
где
-
— средний опорный уровень;
-
и — два последовательных момента дискретизации, соответствующих значениям сигнала, ближайшим по значению к ;
-
и — значения сигнала в моменты и .
Допуски уровней состояний
Details
Вы можете указать нижнюю и верхнюю границы состояний для каждого уровня состояния. Определите границы как уровень состояния плюс или минус скалярное значение, кратное разнице между высоким и низким состояниями. Чтобы задать полезную область допуска, укажите скаляр в виде небольшого числа, например 2/100 или 3/100. В общем случае область для низкого состояния определяется как
где — низкое состояние, — высокое состояние. Замените первый член в уравнении на , чтобы получить область допуска для высокого состояния.
Длительность поиска установления
Details
Длительность поиска установления определяет интервал времени после момента среднего опорного уровня, в течение которого функция settlingtime ищет точку установления. Если settlingtime не находит точку установления в течение длительности поиска установления, то settlingtime возвращает NaN для времени установления. Этот рисунок иллюстрирует длительность поиска установления, равную 10 отсчетам.
Функция settlingtime может не найти точку установления в заданной длительности поиска при возникновении любого из следующих условий.
-
Последнее значение сигнала в интервале поиска установления не находится в пределах верхней и нижней границ состояний, определяемых заданным допуском. На этом рисунке показано это состояние для длительности поиска установления, равной
8отсчетам, и области допуска2%. Последний отсчет в интервале поиска установления превышает верхнюю границу состояний. В этом примере уменьшение или увеличение длительности поиска установления может привести к корректному времени установления. -
Недостаточное количество отсчетов сигнала для заданной длительности поиска. На этом рисунке показано это состояние для длительности поиска в
20отсчетов. Длительность поиска выходит за пределы последнего отсчета сигнала. -
Промежуточный переход обнаружен до окончания заданной длительности поиска. На этом рисунке показано это состояние для длительности поиска, равной
22отсчетам. Промежуточный переход обнаружен до окончания длительности поиска, равной22отсчетам.