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

undershoot

Метрики отрицательного выброса при переходах двухуровневого сигнала.

Библиотека

EngeeDSP

Синтаксис

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

  • us = undershoot(x) — возвращает отрицательный выброс, выраженный в процентах от разницы между уровнями состояний во входном двухуровневом сигнале. Значения в us соответствуют наибольшим отклонениям от уровней конечного состояния каждого перехода.

  • us = undershoot(x,fs) — определяет частоту дискретизации fs в Гц.

  • us = undershoot(x,t) — определяет моменты дискретизации t.

  • us,uslev,usinst = undershoot(___) — возвращает уровни uslev и моменты дискретизации usinst для каждого перехода. Укажите входную комбинацию любого из предыдущих вариантов синтаксиса.

  • ___ = undershoot(___,Name,Value) — задает дополнительные параметры с использованием одного или нескольких аргументов типа «имя-значение».

  • undershoot(___, out=:plot) — строит двухуровневый сигнал и отмечает место отрицательного выброса каждого перехода. Функция также строит графики моментов нижнего и верхнего опорных уровней, а также соответствующих опорных уровней и уровней состояний и соответствующих нижних и верхних границ состояний.

Аргументы

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

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

Details

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

# fs — частота дискретизации
положительный вещественный скаляр

Details

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

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

Details

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

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

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

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

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

Details

Опорные уровни в процентах от амплитуды сигнала, заданные как вещественный вектор размером 1 на 2. Функция определяет нижний уровень как 0 процентов, а верхний — как 100 процентов. Первый элемент соответствует нижнему процентному опорному уровню, а второй — верхнему процентному опорному уровню.

# Region — область аберрации
"Postshoot" (по умолчанию) | "Preshoot"

Details

Область аберрации, для которой вычисляется отрицательный выброс, заданная как "Preshoot" или "Postshoot". Если указано значение "Preshoot", функция определяет конец предпереходной области аберрации как последний момент выхода сигнала из первого состояния. Если указано значение "Postshoot", функция определяет начало постпереходной области аберрации как момент перехода сигнала во второе состояние. По умолчанию функция вычисляет отрицательные выбросы для постпереходных областей аберрации.

# SeekFactor — длительность области аберрации
3 (по умолчанию) | вещественный скаляр

Details

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

# StateLevels — уровни нижнего и верхнего состояний
вещественный вектор

Details

Уровни нижнего и верхнего состояний, заданные как вещественный вектор размером 1 на 2. Первый элемент соответствует уровню нижнего состояния, а второй — уровню верхнего состояния входного сигнала.

# Tolerance — уровень допуска
2 (по умолчанию) | вещественный скаляр

Details

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

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

# us — отрицательные выбросы
вектор

Details

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

# uslev — уровень отрицательного выброса
вектор-столбец

Details

Уровень отрицательного выброса, возвращаемый в виде вектора-столбца.

# usinst — моменты дискретизации
вектор-столбец

Details

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

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

Оценка на уровне состояний

Details

Для определения переходов функция undershoot оценивает уровни нижнего и верхнего состояний входного сигнала x, используя метод гистограмм по следующим шагам.

  1. Определить минимальную и максимальную амплитуды данных.

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

  3. Отсортировать значения данных по столбцам гистограммы.

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

  5. Разделить гистограмму на две подгистограммы.

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

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

Отрицательный выброс

Details

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

Для положительного импульса (имеющего положительную полярность) отрицательный выброс определяется по формуле

где — наибольшее отклонение от уровня верхнего состояния, — верхнее состояние, а — нижнее состояние.

Для отрицательного импульса (имеющего отрицательную полярность) отрицательный выброс определяется как

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

Details

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

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