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

pulseperiod

Период двухуровневого импульса.

Библиотека

EngeeDSP

Синтаксис

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

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

  • p = pulseperiod(x,Fs) — определяет частоту дискретизации Fs.

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

  • p,initcross = pulseperiod(___) — возвращает моменты initcross среднего опорного уровня первого перехода каждого импульса. Вы можете указать входную комбинацию любого из приведенных выше вариантов синтаксиса.

  • p,initcross,finalcross = pulseperiod(___) — возвращает моменты finalcross среднего опорного уровня конечного перехода каждого импульса.

  • p,initcross,finalcross,nextcross = pulseperiod(___) — возвращает моменты nextcross среднего опорного уровня следующего обнаруженного перехода после каждого импульса.

  • p,initcross,finalcross,nextcross,midlev = pulseperiod(___,Name,Value) — возвращает периоды импульсов с дополнительными параметрами, заданными одним или несколькими аргументами типа «имя-значение».

  • pulseperiod(___, out=:plot) — строит график сигнала и затемняет каждый второй идентифицированный импульс. Функция отмечает положение средних пересечений и соответствующий им опорный уровень. Функция также строит графики уровней состояний и связанных с ними нижних и верхних границ. Границы можно настроить с помощью аргумента типа «имя-значение» "Tolerance".

Аргументы

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

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

Details

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

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

Details

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

# t — выборка моментов времени
вектор

Details

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

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

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

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

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

Details

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

# Polarity — полярность импульса
"positive" (по умолчанию) | "negative"

Details

Полярность импульса, заданная как "positive" или "negative". Если задано "positive", функция ищет импульсы с положительными начальными переходами (положительная полярность). Если задано "negative", функция ищет импульсы с отрицательными начальными переходами (отрицательная полярность). Подробнее см. в разделе Полярность импульса.

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

Details

Уровни нижнего и верхнего состояний, заданные как вектор вещественных значений размером 1 на 2. Первый элемент — уровень нижнего состояния. Второй элемент — уровень верхнего состояния. Если параметр StateLevels не указан, функция оценивает уровни состояний по входному сигналу с помощью метода гистограмм.

# Tolerance — уровни допуска
2 (по умолчанию) | скаляр

Details

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

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

Details

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

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

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

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

# p — период импульсов
вектор

Details

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

Поскольку pulseperiod использует интерполяцию для определения моментов среднего опорного уровня, p может содержать значения, которые не соответствуют моментам дискретизации двухуровневого сигнала x.

# initcross — моменты среднего опорного уровня начального перехода
вектор

Details

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

# finalcross — моменты среднего опорного уровня конечного перехода
вектор

Details

Моменты среднего опорного уровня конечных переходов, возвращаемые в виде вектора.

# nextcross — моменты среднего опорного уровня начального перехода после конечного перехода предыдущего импульса
вектор

Details

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

# midlev — значение сигнала
скаляр

Details

Значение сигнала, соответствующее среднему опорному уровню, возвращаемое в виде скаляра.

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

Средний опорный уровень

Details

Средний опорный уровень в двухуровневом сигнале с уровнем нижнего состояния и уровнем верхнего состояния равен

Момент среднего опорного уровня

Details
  • Пусть обозначает средний опорный уровень.

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

  • Пусть и обозначают значения сигнала в моменты и .

Момент среднего опорного уровня равен

Полярность импульса

Details

Если начальный переход импульса положительный, импульс имеет положительную полярность. На этом рисунке показан импульс положительной полярности.

dutycycle 1 ru

Аналогично, импульс положительной полярности (с положительным нарастанием) имеет конечное состояние большее, чем начальное.

Если начальный переход импульса отрицательный, импульс имеет отрицательную полярность. На этом рисунке показан импульс отрицательной полярности.

dutycycle 2 ru

Иными словами, импульс отрицательной полярности (с отрицательным нарастанием) имеет начальное состояние большее, чем конечное.

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

Details

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

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

Литература

  1. IEEE® Standard on Transitions, Pulses, and Related Waveforms. IEEE Standard 181, 2003.