Документация Engee

falltime

Время спада отрицательных фронтов двухуровневых сигналов.

Библиотека

EngeeDSP

Синтаксис

Вызов функции

  • f = falltime(x) — возвращает вектор f, содержащий время каждого отрицательного фронта входного двухуровневого сигнала x от опорных уровней 90% до 10%. Поскольку функция falltime использует интерполяцию, f может содержать значения, не соответствующие моментам дискретизации двухуровневого сигнала x.

  • f = falltime(x, fs) — использует частоту дискретизации в Гц. Частота дискретизации определяет моменты дискретизации, соответствующие элементам x.

  • f = falltime(x, t) — использует моменты дискретизации t, которые задаются как вектор с тем же количеством элементов, что и x.

  • f, lt, ut = falltime(___) — возвращает векторы lt и ut, элементы которых соответствуют моментам времени, когда x пересекает нижний и верхний процентные опорные уровни. Этот синтаксис выходных данных можно использовать с любым из предыдущих входных синтаксисов.

  • f, lt, ut, ll, ul = falltime(___) — также возвращает уровни ll и ul, соответствующие нижнему и верхнему процентным опорным уровням.

  • ___ = falltime(___, Name,Value) — возвращает время спада с дополнительными параметрами, заданными одним или несколькими аргументами типа Name,Value.

Аргументы

Входные аргументы

# x — двухуровневый сигнал
вектор

Details

Двухуровневый сигнал, заданный как вещественный вектор.

# fs — частота дискретизации, Гц
скаляр

Details

Частота дискретизации в Гц, заданная как положительный вещественный скаляр.

# t — моменты дискретизации
вектор

Details

Моменты дискретизации, заданные как вещественный вектор. Длина t должна быть равна длине двухуровневого сигнала x.

Входные аргументы «имя-значение»

Укажите необязательные пары аргументов в формате Name, Value, где Name — имя аргумента, а Value — соответствующее значение. Аргументы типа «имя-значение» должны располагаться после других аргументов, но порядок пар не имеет значения.

Используйте запятые для разделения имени и значения, а Name заключите в кавычки.

Пример: f = falltime([4,3,2,1], "PercentReferenceLevels", [30 60]).

# PercentReferenceLevels — опорные уровни в процентах от амплитуды сигнала
[10 90] (по умолчанию) | двухэлементный вектор-строка

Details

Опорные уровни в процентах от амплитуды сигнала, заданные как двухэлементный положительный вектор-строка. Элементы вектора-строки соответствуют низкому и высокому опорным уровням в процентах. Высокий уровень состояния определяется как 100%, а низкий — как 0%. Подробнее см. в разделе Процентные опорные уровни.

# StateLevels — низкий и высокий уровни состояний
двухэлементный вектор-строка

Details

Низкий и высокий уровни состояний, заданные как двухэлементный вектор-строка. Первый и второй элементы вектора соответствуют низкому и высокому уровням состояний.

# Tolerance — верхняя и нижняя границы уровней состояний
2 (по умолчанию) | скаляр

Details

Верхняя и нижняя границы уровней состояний, заданные как вещественный положительный скаляр. Подробнее см. в разделе Допуски уровней состояний.

# out — тип выходных данных
:data (по умолчанию) | :plot

Details

Тип выходных данных:

  • :data — функция возвращает данные;

  • :plot — функция возвращает график.

Выходные аргументы

# f — длительность отрицательного фронта
вектор

Details

Длительность отрицательного фронта, возвращаемая в виде вектора. Если указана частота дискретизации fs или моменты дискретизации t, то время спада указывается в секундах. Если частота дискретизации или моменты дискретизации не указаны, то время спада указывается в отсчетах.

# lt — моменты пересечения нижнего опорного уровня
вектор

Details

Моменты пересечения нижнего опорного уровня, возвращаемые в виде вектора. Вектор lt содержит моменты времени, когда отрицательный фронт пересекает нижний опорный уровень. По умолчанию нижнее значение опорного уровня составляет 10% от опорного уровня. Вы можете изменить значения опорных уровней по умолчанию, указав аргумент PercentReferenceLevels.

# ut — моменты пересечения верхнего опорного уровня
вектор

Details

Моменты пересечения верхнего опорного уровня, возвращаемые в виде вектора. Вектор ut содержит моменты времени, когда отрицательный фронт пересекает верхний опорный уровень. По умолчанию верхнее значение опорного уровня составляет 90% от опорного уровня. Вы можете изменить значения опорных уровней по умолчанию, указав аргумент PercentReferenceLevels.

# ll — нижний опорный уровень
скаляр

Details

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

По умолчанию нижнее значение опорного уровня составляет 10% от опорного уровня. Вы можете изменить значения опорных уровней по умолчанию, указав аргумент PercentReferenceLevels.

# ul — верхний опорный уровень
скаляр

Details

Верхний опорный уровень в единицах амплитуды сигнала, возвращаемый в виде вещественного числового скаляра.

По умолчанию верхнее значение опорного уровня составляет 90% от опорного уровня. Вы можете изменить значения опорных уровней по умолчанию, указав аргумент PercentReferenceLevels.

Примеры

Время спада сигнала

Details

Вычислим время спада сигнала.

import EngeeDSP.Functions: falltime
f = falltime([4,3,2,1], "PercentReferenceLevels", [30 60], out=:data)
(0.5940000000000003, 3.391, 2.7969999999999997, 1.609, 2.2030000000000003)

Выведем график.

import EngeeDSP.Functions: falltime
f = falltime([4,3,2,1], "PercentReferenceLevels", [30 60], out=:plot)

falltime 1

Дополнительно

Фронт сигнала

Details

Для определения фронта функция falltime оценивает уровни состояния входного сигнала с помощью метода гистограммы. Функция определяет все области, пересекающие нижнюю границу высокого состояния и верхнюю границу низкого состояния. Границы низкого и высокого состояний выражаются как уровень состояния плюс или минус кратное разности между уровнями состояний.

Отрицательный фронт

Details

Отрицательный фронт в двухуровневом сигнале — это переход из состояния с высоким уровнем в состояние с низким уровнем. Если сигнал дифференцируем в окрестности фронта, эквивалентным определением будет фронт с отрицательной первой производной.

Процентные опорные уровни

Details

Если — это низкое состояние, — высокое состояние, а — верхний процентный опорный уровень, то значение сигнала, соответствующее верхнему процентному опорному уровню, равно

Если — это нижний процентный опорный уровень, то значение сигнала, соответствующее нижнему процентному опорному уровню, равно

Допуски уровней состояний

Details

Вы можете указать нижнюю и верхнюю границы состояний для каждого уровня состояния. Определите границы как уровень состояния плюс или минус скалярное значение, кратное разнице между высоким и низким состояниями. Чтобы задать полезную область допуска, укажите скаляр в виде небольшого числа, например 2/100 или 3/100. В общем случае область для низкого состояния определяется как

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

Литература

  1. IEEE® Standard on Transitions, Pulses, and Related Waveforms, IEEE Standard 181, 2003, pp. 15–17.