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

overshoot

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

Библиотека

EngeeDSP

Синтаксис

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

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

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

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

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

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

  • overshoot(___;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

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

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

Details

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

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

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

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

# os — положительные выбросы
вектор

Details

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

# oslev — уровень положительного выброса
вектор

Details

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

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

Details

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

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

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

Details

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

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

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

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

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

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

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

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

Положительный выброс

Details

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

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

где — максимальное отклонение, превышающее уровень верхнего состояния, — верхнее состояние, а — нижнее состояние.

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

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

Details

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

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

Литература

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