dsp. TransitionMetrics

Метрики перехода двухуровневых форм волны

Описание

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

Получить метрики перехода для двухуровневой формы волны:

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

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

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.

Создание

Синтаксис

tm = dsp.TransitionMetrics
tm = dsp.TransitionMetrics(Name,Value)

Описание

tm = dsp.TransitionMetrics создает метрическую Систему перехода object™, tm. Объект вычисляет время нарастания, осеннее время и ширина импульса. TransitionMetrics дополнительно вычисляет метрики цикла, такие как импульсные разделения, периоды и рабочие циклы.

пример

tm = dsp.TransitionMetrics(Name,Value) возвращает Системный объект TransitionMetrics, tm, с каждым заданным набором свойств к заданному значению.

Свойства

развернуть все

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

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

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

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

Зависимости

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

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

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

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

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

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

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

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

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

Зависимости

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

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

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

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

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

Зависимости

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

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

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

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

Зависимости

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

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

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

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

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

Зависимости

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

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

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

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

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

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

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

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

Для версий ранее, чем R2016b, используйте функцию step, чтобы запустить алгоритм Системного объекта. Аргументы к step являются объектом, который вы создали, сопровождаемый аргументами, показанными в этом разделе.

Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции.

Синтаксис

pulse = tm(x)
[pulse,cycle] = tm(x)
[pulse,transition] = tm(x)
[pulse,preshoot] = tm(x)
[pulse,postshoot] = tm(x)
[pulse,settling] = tm(x)
[pulse,cycle,transition,preshoot,postshoot,settling] = tm(x)
[___] = tm(x,T)

Описание

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

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

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

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

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

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

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

пример

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

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

развернуть все

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

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

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

Зависимости

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

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

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

развернуть все

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

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

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

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

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

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

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

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

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

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

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

  • Frequency — Обратная величина периода.

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

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

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

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

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

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

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

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

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

  • LowerCross — Линейно интерполированный момент, где сигнал пересекает более низкий контрольный уровень

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

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

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

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

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

  • Undershoot — Отклонение от номинала видимой области, выраженной как процент амплитуды формы волны

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

  • UndershootLevel — Уровень отклонения от номинала

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

  • UndershootInstant — Момент, который соответствует отклонению от номинала

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

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

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

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

  • Undershoot — Отклонение от номинала видимой области, выраженной как процент амплитуды формы волны

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

  • UndershootLevel — Уровень отклонения от номинала

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

  • UndershootInstant — Момент, который соответствует отклонению от номинала

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

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

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

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

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

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

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

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

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

release(obj)

развернуть все

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

Примеры

развернуть все

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

Вычислите информацию о переходе и предварительном выстреле 2,3-вольтовой формы волны шага, выбранной на уровне 4 МГц. Загрузите данные.

load('transitionex.mat','x');

Создайте объект dsp.TransitionMetrics. Установите свойство SampleRate на 4 MHz и свойство StateLevelsSource к 'Auto' оценивать государственные уровни от данных. Установите свойство PreshootOutputPort на true выводить метрики аберрации перед переходом, когда вы вызовете объект.

tm = dsp.TransitionMetrics('SampleRate',4e6, ...
                                 'StateLevelsSource','Auto', ...
                                 'PreshootOutputPort',true)
tm = 
  dsp.TransitionMetrics with properties:

             StateLevelsSource: 'Auto'
                   StateLevels: [0 2.3000]
    PercentStateLevelTolerance: 2
        PercentReferenceLevels: [10 50 90]
                RunningMetrics: false
                 TimeInputPort: false
                    SampleRate: 4000000
            PreshootOutputPort: true
            PreshootSeekFactor: 3
           PostshootOutputPort: false
            SettlingOutputPort: false

Вызовите объект вычислить информацию о переходе и предварительном выстреле. Постройте результат.

[transition,preshoot] = tm(x) 
transition = struct with fields:
       Duration: 1.7800e-07
       Polarity: 1
       SlewRate: 1.0310e+07
    MiddleCross: 5.1250e-06
     LowerCross: 5.0360e-06
     UpperCross: 5.2140e-06

preshoot = struct with fields:
            Overshoot: 4.8050
           Undershoot: 6.1798
       OvershootLevel: 0.1020
      UndershootLevel: -0.1500
     OvershootInstant: 4.7500e-06
    UndershootInstant: 5.0000e-06

plot(tm)

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

Вычислите переход, поствыстрел и обосновывающуюся информацию 2,3-вольтовой формы волны шага, выбранной на уровне 4 МГц. Загрузите данные наряду с моментами выборки.

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

Создайте объект dsp.TransitionMetrics. Установите свойство TimeInputPort на true, свойство StateLevels к [0 2.3] совпадать с формой волны statelevels. Чтобы вывести информацию о постохоте и обосновывающуюся информацию, установите свойства PostShootOutputPort и SettlingOutputPort на true. Установите свойство SettlingSeekDuration на 2 ms.

tm = dsp.TransitionMetrics('TimeInputPort',true, ...
                                 'StateLevels',[0 2.3], ...
                                 'PostshootOutputPort',true, ...
                                 'SettlingOutputPort',true, ...
                                 'SettlingSeekDuration',2e-6)
tm = 
  dsp.TransitionMetrics with properties:

             StateLevelsSource: 'Property'
                   StateLevels: [0 2.3000]
    PercentStateLevelTolerance: 2
        PercentReferenceLevels: [10 50 90]
                RunningMetrics: false
                 TimeInputPort: true
            PreshootOutputPort: false
           PostshootOutputPort: true
           PostshootSeekFactor: 3
            SettlingOutputPort: true
          SettlingSeekDuration: 2.0000e-06

Вычислите переход, поствыстрел и обосновывающуюся информацию и постройте результат.

 [transition,postshoot,settling] = tm(x,t) 
transition = struct with fields:
       Duration: 1.7846e-07
       Polarity: 1
       SlewRate: 1.0310e+07
    MiddleCross: 5.1261e-06
     LowerCross: 5.0369e-06
     UpperCross: 5.2153e-06

postshoot = struct with fields:
            Overshoot: 5.5483
           Undershoot: 5.1051
       OvershootLevel: 2.4276
      UndershootLevel: 2.1826
     OvershootInstant: 5.2500e-06
    UndershootInstant: 5.5000e-06

settling = struct with fields:
    Duration: 4.9529e-07
       Level: 2.2540
     Instant: 5.6214e-06

 plot(tm)

Ссылки

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

Смотрите также

Системные объекты

Представленный в R2012a