dsp.PulseMetrics

(Будет удален) Импульсные метрики двухуровневых сигналов

dsp.PulseMetrics будет удалено в следующем релизе. Вместо этого используйте функции из Импульса и Метрики Перехода. Функции в этом наборе включают dutycycle, midcross, pulseperiod, pulsesep, и pulsewidth среди прочих. Для получения дополнительной информации см. раздел Вопросов совместимости.

Описание

The dsp.PulseMetrics объект вычисляет времена нарастания, времена спада, ширины импульса и метрики цикла, включая период импульса, разделение импульса и коэффициент заполнения для форм двухуровневых сигналов.

Чтобы получить импульсные метрики для двухуровневого сигнала:

  1. Создайте dsp.PulseMetrics Объекту и установите его свойства.

  2. Вызывайте объект с аргументами, как будто это функция.

Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».

Создание

Описание

pm = dsp.PulseMetrics создает импульсные метрики System object™, pm. Объект вычисляет время нарастания, время спада и ширину импульса. dsp.PulseMetrics также вычисляет метрики цикла, такие как разделение импульсов, периоды и коэффициенты заполнения. Поскольку импульс содержит два перехода, объект содержит супермножество возможностей, заданных в dsp.TransitionMetrics.

пример

pm = dsp.PulseMetrics(Name,Value) возвращает PulseMetrics Системный объект, pm, с каждым заданным набором свойств до заданного значения.

Свойства

расширить все

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

Если свойство настраивается, можно изменить его значение в любой момент.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.

Если CycleOutputPort является true, метрики цикла сообщаются для каждого импульсного периода.

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

Настраиваемый: Да

Зависимости

Это свойство применяется, когда RunningMetrics свойство true.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

Типы данных: double

Допуск уровня состояния (в процентах). Это свойство требует скаляра, который задает максимальное отклонение от низкого или высокого состояния, прежде чем оно будет считаться вне этого состояния. Допуск выражается в процентах от амплитуды формы волны.

Типы данных: double

Полярность импульса для извлечения. Это свойство задает тип импульса, который извлекается полярностью начального перехода. Допустимые значения для этого свойства 'positive' или 'negative'.

Включите метрики аберрации постперехода. Если для этого свойства задано значение trueСообщается о перерегулировании и метриках undershoot для области, определенной сразу после каждого перехода. Область аберрации постперехода определяется как интервал формы волны, который начинается в конце каждого перехода и чья длительность является значением PostshootSeekFactor умножает вычисленную длительность перехода. Если полный последующий переход обнаружен до окончания интервала, область обрезается в начале последующего перехода. Метрики вычисляются для каждого перехода, который имеет полную область аберрации постперехода.

Соответствует длительности поиска перерегулирования и метрик undershoot сразу после каждого перехода. Длительность выражается как фактор длительности перехода.

Настраиваемый: Да

Зависимости

Это свойство включено только, когда PostshootOutputPort для свойства задано значение true.

Типы данных: double

Включите метрики аберрации перед перемещением. Если PreshootOutputPort установлено в trueСообщаются о перерегулировании и метриках undershoot для области, заданной непосредственно перед каждым переходом. Область аберрации перед перемещением определяется как интервал формы волны, который заканчивается в начале каждого перехода и длительность PreshootSeekFactor умножает вычисленную длительность перехода.

Соответствует длительности поиска перерегулирования и метрик undershoot непосредственно перед каждым переходом. Длительность выражается как фактор длительности перехода.

Настраиваемый: Да

Зависимости

Это свойство включено только, когда PreshootOutputPort для свойства задано значение true.

Типы данных: double

Включите метрики во всех вызовах алгоритма. Если RunningMetrics установлено в falseметрики вычисляются для каждого вызова алгоритма независимо. Если RunningMetrics установлено в trueметрики вычисляются через последующие вызовы алгоритма. Если недостаточно выборок для вычисления метрик, связанных с последним переходом, область аберрации постперехода или длительность поиска в текущей записи, объект откладывает сообщения обо всех метриках перехода, аберрации и установления, сопоставленных с последним переходом, пока последующий вызов алгоритма не будет выполнен с достаточным количеством данных, чтобы вычислить все включенные метрики для этого перехода.

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

Зависимости

Это свойство применяется, когда TimeInputPort для свойства задано значение false.

Типы данных: double

Включите настройку метрики. Если на SettlingOutputPort для свойства задано значение trueДля каждого перехода сообщаются метрики расчета. Область, используемая для вычисления осаждающих метрик, начинается со среднекросинга и продолжается до SettlingSeekDuration прошло. Если происходит промежуточный переход, или сигнал не обосновался в PercentStateLevelTolerance окончательного уровня, NaN возвращается для каждой метрики. Если после последнего перехода не хватает выборок, чтобы выполнить SettlingSeekDurationметрики для последнего перехода не сообщаются. Метрики сообщаются для перехода при следующем вызове алгоритма объекта, если RunningMetrics для свойства задано значение true.

Длительность времени, в течение которого можно искать обоснование. Это значение свойства является скаляром, который задает количество времени для проверки от пересечения середины контрольного уровня (в секундах). Если переход еще не урегулирован или за эту длительность обнаружен последующий полный переход, объект сообщает NaN для всех расчетных метрик.

Настраиваемый: Да

Зависимости

Это свойство применяется только при установке SettlingOutputPort свойство к true.

Типы данных: double

Низко- и высокогосударственные уровни. Это свойство является двухэлементным числовым вектором-строкой, который содержит уровни low- и high-state. Эти уровни состояний соответствуют номинальной логике низких и высоких уровней импульсного сигнала.

Настраиваемый: Да

Типы данных: double

Автоматический или ручной расчет уровня состояния. Если StateLevelsSource установлено в 'Auto'первая запись, отправленная объекту, отправляется в dsp.StateLevels с настройками по умолчанию для определения уровней состояния входящей формы волны. Если для этого свойства задано значение 'Property'объект использует значения, заданные пользователем в StateLevels свойство.

Добавьте вход, чтобы задать образец мгновений. Задайте TimeInputPort на true чтобы включить дополнительный действительный входной вектор-столбец к алгоритму объекта, чтобы задать моменты расчета, которые соответствуют значениям выборки. Если это свойство false, образцы мгновений строятся внутренне. Моменты расчета начинаются с нуля и увеличиваются на взаимное SampleRate свойство для последующих выборок. Экземпляры сэмпла продолжают увеличиваться, если RunningMetrics для свойства задано значение true и никаких промежуточных вызовов в reset или release встречаются методы.

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

Использование

Описание

пример

pulse = pm(x) возвращает массив структур, pulse, поля которого содержат реальные векторы-столбцы. Количество строк каждого поля соответствует количеству полных импульсов, найденных на вектор-столбец входе с реальным значением x.

[pulse,cycle] = pm(x) возвращает массив структур, cycle, поля которого содержат реальные векторы-столбцы, когда вы устанавливаете CycleOutputPort свойство к true. Количество строк каждого поля соответствует количеству полных импульсных периодов, найденных на вектор-столбец входе с реальным значением x.

[pulse,transition] = pm(x) возвращает массив структур, transition, когда вы устанавливаете TransitionOutputPort свойство к true. Поля transition содержат вещественные матрицы с двумя столбцами, которые соответствуют метрикам первого и второго переходов. Количество строк соответствует количеству импульсов, обнаруженных в вход форме волны.

[pulse,preshoot] = pm(x) возвращает массив структур, preshoot, когда вы устанавливаете PreshootOutputPort свойство к true. Поля preshoot содержат вещественные двухколоночные матрицы, длина строки которых соответствует количеству переходов, обнаруженных в вход сигнала. Имена полей идентичны именам postshoot массив структур.

[pulse,postshoot] = pm(x) возвращает структуру, postshoot, когда вы устанавливаете PostshootOutputPort свойство к true. Поля postshoot содержат вещественные двухколоночные матрицы, длина строки которых соответствует количеству переходов, обнаруженных в вход сигнала.

[pulse,settling] = pm(x) возвращает массив структур, settling, когда вы устанавливаете SettlingOutputPort свойство к true. Поля settling соответствуют метрикам установления для каждого перехода. Каждое поле является вектором-столбцом, элементы которого соответствуют отдельным установочным длительности, уровням и моментам.

[pulse,cycle,transition,preshoot,postshoot,settling] = pm(x) который возвращает pulse, cycle, transition, preshoot, postshoot, и settling структуры, когда CycleOutputPort, PreshootOutputPort, PostshootPort, и SettlingOutputPort свойства true. Можно включать или отключать любую комбинацию выхода портов. Однако выходные аргументы заданы в порядке, показанном здесь.

[___] = pm(x,T) вычисляет вышеуказанные метрики относительно дискретизированного сигнала, значения выборки которого, x, и образец мгновений, T, являются реальными векторами-столбцами той же длины. Дополнительный вход T применяется только при установке TimeInputPort свойство к true.

Входные параметры

расширить все

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

Типы данных: double

Моменты дискретизации, заданные как реальный вектор-столбец. Задайте TimeInputPort на true чтобы включить дополнительный действительный входной вектор-столбец к алгоритму объекта, чтобы задать моменты расчета, которые соответствуют значениям выборки. Если TimeInputPort является false, образцы мгновений строятся внутренне. Моменты расчета начинаются с нуля и увеличиваются на взаимное SampleRate свойство для последующих выборок. Экземпляры сэмпла продолжают увеличиваться, если RunningMetrics для свойства задано значение true и никаких промежуточных вызовов в reset или release встречаются методы.

Зависимости

Этот вход применим, когда вы устанавливаете TimeInputPort свойство к true.

Типы данных: double

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

расширить все

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

The pulse выходы содержат следующие поля:

  • PositiveCross - Моменты, когда положительные переходы пересекают средний базовый уровень каждого импульса

  • NegativeCross - Моменты, где отрицательные переходы пересекают средний базовый уровень каждого импульса

  • Width - Абсолютное различие между PositiveCross и NegativeCross каждого импульса

  • RiseTime - Длительность между линейно интерполированными моментами, когда положительный (растущий) переход каждого импульса пересекает нижний и верхний эталонные уровни

  • FallTime - Длительность между линейно интерполированными моментами, когда отрицательный (падающий) переход каждого импульса пересекает верхний и нижний эталонные уровни

Типы данных: struct

Завершите импульсные периоды, возвращенные как структура, поля которой содержат реальные векторы-столбцы. Эта структура может быть возвращена только при установке CycleOutputPort свойство к true. Количество строк каждого поля соответствует количеству полных импульсных периодов, найденных на вектор-столбец входе с реальным значением x. Вам нужно как минимум три последовательных чередующихся перехода полярности, которые начало и конец с той же полярностью, что и значение Polarity свойство, если необходимо вычислить метрики цикла. Если последний переход найден в входе x не соответствует полярности Polarity свойство, импульсное разделение, период, частота и коэффициент заполнения не сообщаются для последнего импульса. Если на RunningMetrics для свойства задано значение true Когда это происходит, все импульсы, циклы, переходы, предварительный перерегулирование, пострегулирование и установление метрики, сопоставленные с последним импульсом, откладываются до тех пор, пока последующий вызов алгоритма не обнаружит следующий переход.

The cycle выходы содержат следующие поля:

  • Period - длительность между первым переходом импульса тока и первым переходом следующего импульса.

  • Frequency - Взаимность периода.

  • Separation - Длительность между пересечениями середины контрольного уровня второго перехода каждого импульса и первым переходом следующего импульса.

  • Width - Продолжительность между пересечениями середины контрольного уровня первого и второго переходов каждого импульса. Это эквивалентно параметру ширины pulse структура.

  • DutyCycle - Отношение ширины к периоду для каждого импульса.

Типы данных: struct

Метрики перехода, возвращенные как массив структур. Эта структура может быть возвращена только при установке TransitionOutputPort свойство к true. Поля transition содержат вещественные матрицы с двумя столбцами, которые соответствуют метрикам первого и второго переходов. Количество строк соответствует количеству импульсов, обнаруженных в вход форме волны.

The transition выходы содержат следующие поля:

  • Duration - Количество времени между интерполированными моментами, где переход пересекает нижний и верхний эталонные уровни

  • SlewRate - Отношение абсолютного различия между верхним и нижним базовыми уровнями к длительности перехода

  • MiddleCross - Линейно интерполированный момент времени, когда переход впервые пересекает средний эталонный уровень

  • LowerCross - Линейно интерполированный момент, где сигнал пересекает нижний эталонный уровень

  • UpperCross - Линейно интерполированный момент, где сигнал пересекает верхний эталонный уровень

Типы данных: struct

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

The preshoot выходы содержат следующие поля:

  • Overshoot - перерегулирование необходимой области, выраженное в процентах от амплитуды формы волны

  • Undershoot - Недорегулирование необходимой области, выраженное в процентах от амплитуды формы волны

  • OvershootLevel - Уровень перерегулирования

  • UndershootLevel - Уровень подколенного слоя

  • OvershootInstant - Мгновенный, который соответствует перерегулированию

  • UndershootInstant - Мгновенный, который соответствует подрезу

Типы данных: struct

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

The postshoot выходы содержат следующие поля:

  • Overshoot - перерегулирование необходимой области, выраженное в процентах от амплитуды формы волны

  • Undershoot - Недорегулирование необходимой области, выраженное в процентах от амплитуды формы волны

  • OvershootLevel - Уровень перерегулирования

  • UndershootLevel - Уровень подколенного слоя

  • OvershootInstant - Мгновенный, который соответствует перерегулированию

  • UndershootInstant - Мгновенный, который соответствует подрезу

Типы данных: struct

Определение метрик для каждого перехода, возвращаемое как массив структур. Эта структура может быть возвращена только при установке SettlingOutputPort свойство к true. Поля settling соответствуют метрикам установления для каждого перехода. Каждое поле является вектором-столбцом, элементы которого соответствуют отдельным установочным длительности, уровням и моментам.

The settling выходы содержат следующие поля:

  • Duration - Количество времени, с которого сигнал пересекает средний эталонный уровень, до времени, когда сигнал входит и остается в пределах заданного PercentStateLevelTolerance амплитуды формы волны на заданную длительность поиска осаждения

  • Instant - Мгновенно, когда сигнал входит и остается в пределах заданного допуска

  • Level - Уровень формы волны, где она входит и остается в пределах заданного допуска

Типы данных: struct

Функции объекта

Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj, используйте следующий синтаксис:

release(obj)

расширить все

plot(Будет удален) Постройте график импульсного сигнала и метрики
stepЗапуск алгоритма системного объекта
releaseОтпустите ресурсы и допустите изменения в значениях свойств системного объекта и входных характеристиках
resetСброс внутренних состояний Системного объекта

Примеры

свернуть все

Примечание. Если вы используете R2016a или более ранний релиз, замените каждый вызов объекта эквивалентным step синтаксис. Для примера, obj(x) становится step(obj,x).

Определите ширину, период и коэффициент заполнения импульса 5 В, дискретизированного на 4 МГц.

 load('pulseex.mat','x','t');

Создайте dsp.PulseMetrics объект. Установите TimeInputPort свойство к true для определения моментов дискретизации в качестве входов. Установите CycleOutputPort свойство к true для получения метрики для каждого импульса. Поскольку вход является импульсом 5 В, установите StateLevels свойство к [0 5].

 pm = dsp.PulseMetrics('TimeInputPort',true, ...
                            'CycleOutputPort', true, ...
                            'StateLevels',[0 5])
pm = 
  dsp.PulseMetrics with properties:

                      Polarity: 'Positive'
             StateLevelsSource: 'Property'
                   StateLevels: [0 5]
    PercentStateLevelTolerance: 2
        PercentReferenceLevels: [10 50 90]
                RunningMetrics: false
                 TimeInputPort: true
               CycleOutputPort: true
          TransitionOutputPort: false
            PreshootOutputPort: false
           PostshootOutputPort: false
            SettlingOutputPort: false

Вызовите объект, чтобы вычислить метрики цикла и построить график результата.

 [pulse,cycle] = pm(x,t);   
 plot(pm) 
 text(t(2),-0.5,['Duty Cycle: ',num2str(cycle.DutyCycle)]);

Вопросы совместимости

расширить все

Не рекомендуемый запуск в R2021a

Ссылки

[1] IEEE® Стандарт на переходы, импульсы и связанные формы волны, стандарт IEEE 181, 2003.

Введенный в R2012a
Для просмотра документации необходимо авторизоваться на сайте