dsp.TransitionMetrics

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

Описание

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

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

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

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

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

Создание

Описание

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, о перерегулировании и метриках undershoot сообщают для области, заданной сразу после каждого перехода. Область аберрации постперехода задана как интервал формы волны, который начинается в конце каждого перехода и чья длительность является значением PostshootSeekFactor времена вычисленная длительность перехода. Если полный последующий переход обнаруживается, прежде чем интервал закончен, область является усеченной в начале последующего перехода. Метрики вычисляются для каждого перехода, который имеет полную область аберрации постперехода.

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

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

Зависимости

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

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

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

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

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

Зависимости

Это свойство включено только когда 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 с методами сталкиваются.

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

Описание

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 выведите содержит следующие поля:

  • Duration — Количество времени от того, когда сигнал пересекает середину контрольного уровня ко времени, где сигнал входит и остается в заданном 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