risetime
Время нарастания положительного фронта двухуровневых сигналов.
| Библиотека |
|
Синтаксис
Вызов функции
-
r = risetime(x)— возвращает векторr, содержащий время каждого положительного фронта входного двухуровневого сигналаxот опорных уровней10%до90%. Для определения положительных фронтов функцияrisetimeоценивает уровни состояния входного сигнала методом гистограммы. Функцияrisetimeопределяет все области, пересекающие верхнюю границу низкого уровня и нижнюю границу высокого уровня. Границы низкого и высокого уровня выражаются как уровень состояния плюс или минус кратное разности между уровнями. См. раздел Допуски уровней состояний. Поскольку функцияrisetimeиспользует интерполяцию,rможет содержать значения, не соответствующие моментам дискретизации двухуровневого сигналаx.
-
r = risetime(x, fs)— использует частоту дискретизации в Гц. Частота дискретизации определяет моменты дискретизации, соответствующие элементамx. Первый момент дискретизацииxсоответствует . Поскольку функцияrisetimeиспользует интерполяцию,rможет содержать значения, не соответствующие моментам дискретизации двухуровневого сигналаx.
-
___ = risetime(___, Name=Value)— возвращает время нарастания с дополнительными параметрами, заданными одним или несколькими аргументами Name=Value.
-
risetime(___)— строит график сигнала и затемняет области каждого фронта, где вычисляется время нарастания. На графике отмечены нижнее и верхнее пересечения и соответствующие опорные уровни. Также отображаются уровни состояний и соответствующие им нижняя и верхняя границы состояний.
Аргументы
Входные аргументы
#
x —
двухуровневый сигнал
вектор
Details
Двухуровневый сигнал, заданный как вещественный вектор.
#
fs —
частота дискретизации, Гц
скаляр
Details
Частота дискретизации в Гц, заданная как положительный вещественный скаляр.
Входные аргументы «имя-значение»
Укажите необязательные пары аргументов в формате Name=Value, где Name — имя аргумента, а Value — соответствующее значение. Аргументы типа Name=Value должны располагаться после других аргументов, но порядок пар не имеет значения.
#
PercentReferenceLevels —
опорные уровни в процентах от амплитуды сигнала
[10 90] (по умолчанию) | двухэлементный вектор-строка
Details
Опорные уровни в процентах от амплитуды сигнала, заданные как двухэлементный положительный вектор-строка. Элементы вектора-строки соответствуют нижнему и верхнему опорным уровням в процентах. Высокий уровень состояния определяется как 100%, а низкий — как 0%. Подробнее см. в разделе Процентные опорные уровни.
#
StateLevels —
низкий и высокий уровни состояний
двухэлементный вектор-строка
Details
Низкий и высокий уровни состояний, заданные как двухэлементный вектор-строка. Первый и второй элементы вектора соответствуют низкому и высокому уровням состояний.
#
Tolerance —
верхняя и нижняя границы уровней состояний
2 (по умолчанию) | скаляр
Details
Верхняя и нижняя границы уровней состояний, заданные как вещественный положительный скаляр. Подробнее см. в разделе Допуски уровней состояний.
#
out —
тип выходных данных
:plot (по умолчанию) | :data
Details
Тип выходных данных:
-
:plot— функция возвращает график; -
:data— функция возвращает данные.
Выходные аргументы
#
r —
длительность положительного фронта
вектор
#
lt —
моменты пересечения нижнего опорного уровня
вектор
Details
Моменты пересечения нижнего опорного уровня, возвращаемые в виде вектора. Вектор lt содержит моменты времени, когда положительный фронт пересекает нижний опорный уровень. По умолчанию нижнее значение опорного уровня составляет 10% от опорного уровня. Вы можете изменить значения опорных уровней по умолчанию, указав PercentReferenceLevels.
#
ut —
моменты пересечения верхнего опорного уровня
вектор
Details
Моменты пересечения верхнего опорного уровня, возвращаемые в виде вектора. Вектор ut содержит моменты времени, когда положительный фронт пересекает верхний опорный уровень. По умолчанию верхнее значение опорного уровня составляет 90% от опорного уровня. Вы можете изменить значения опорных уровней по умолчанию, указав PercentReferenceLevels.
#
ll —
нижний опорный уровень
скаляр
Details
Нижний опорный уровень в единицах амплитуды сигнала, возвращаемый в виде вещественного числового скаляра.
По умолчанию нижнее значение опорного уровня составляет 10% от опорного уровня. Вы можете изменить значения опорных уровней по умолчанию, указав PercentReferenceLevels.
#
ul —
верхний опорный уровень
скаляр
Details
Верхний опорный уровень в единицах амплитуды сигнала, возвращаемый в виде вещественного числового скаляра.
По умолчанию верхнее значение опорного уровня составляет 90% от опорного уровня. Вы можете изменить значения опорных уровней по умолчанию, указав PercentReferenceLevels.
Примеры
Время нарастания синусоидального сигнала
Details
Вычислим время нарастания синусоидального сигнала.
import EngeeDSP.Functions: risetime
t = 0:pi/5:4*pi
risetime(cos.(t), t)

Укажем опорные уровни в процентах PercentReferenceLevels:
risetime(cos.(t), t, PercentReferenceLevels=[30, 60])

Укажем также допуск для уровней состояний Tolerance:
risetime(cos.(t), t, PercentReferenceLevels=[30, 60], Tolerance=10)

Укажем также низкий и высокий уровни состояний StateLevels:
risetime(cos.(t), t, PercentReferenceLevels=[30, 60], StateLevels=[0, 0.6], Tolerance=10)

Дополнительно
Положительный фронт
Details
Положительный фронт в двухуровневом сигнале — это переход из состояния с низким уровнем в состояние с высоким уровнем. Импульс положительной полярности (нарастающий) имеет конечное состояние, более высокое, чем начальное. Если сигнал дифференцируем в окрестности фронта, эквивалентным определением будет фронт с положительной первой производной.
Процентные опорные уровни
Details
Если — это низкое состояние, — высокое состояние, а — верхний процентный опорный уровень, то значение сигнала, соответствующее верхнему процентному опорному уровню, равно:
Если — это нижний процентный опорный уровень, то значение сигнала, соответствующее нижнему процентному опорному уровню, равно:
Допуски уровней состояний
Details
Вы можете указать нижнюю и верхнюю границы состояний для каждого уровня состояния. Определите границы как уровень состояния плюс или минус скалярное значение, кратное разнице между высоким и низким состояниями. Чтобы задать полезную область допуска, укажите скаляр в виде небольшого числа, например, 2/100 или 3/100. В общем случае область для низкого состояния определяется как:
где — низкое состояние, — высокое состояние. Замените первый член в уравнении на , чтобы получить область допуска для высокого состояния.