dsp.PulseMetrics

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

Описание

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

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

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

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

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

Создание

Описание

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

пример

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

Свойства

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

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

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

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (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, об обосновывающихся метриках сообщают для каждого перехода. Область использовалась для расчета обосновывающихся метрик, запускается в midcrossing и длится до SettlingSeekDuration протек. Если прошедший переход происходит, или сигнал не обосновался в PercentStateLevelTolerance из итогового уровня, NaN возвращен для каждой метрики. Если существует недостаточно выборок после последнего перехода, который завершит SettlingSeekDuration, ни о каких метриках не сообщают для последнего перехода. О метриках сообщают для перехода в следующий раз, когда объектный алгоритм называется если RunningMetrics свойство установлено в true.

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

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

Зависимости

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

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

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

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

Типы данных: 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 содержите матрицы 2D столбца с действительным знаком, длина строки которых соответствует количеству переходов, найденных во входной форме волны. Имена полей идентичны тем из postshoot массив структур.

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

[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 свойство и концы с переходом противоположной полярности.

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 или более ранний релиз, заменяете каждый вызов объекта с эквивалентным 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)]);

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

Найдите скорости нарастания начальных и конечных ребер 2,3-вольтовых электронных часов произведенными на уровне 4 МГц.

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

Создайте dsp.PulseMetrics объект. Установите TransitionOutputPort свойство к true сообщить о метриках перехода для начальных и итоговых переходов. Установите StateLevelsSource свойство к 'Auto' оценить государственные уровни из данных.

 pm = dsp.PulseMetrics('SampleRate',4e6, ...
                            'TransitionOutputPort', true, ...
                            'StateLevelsSource','Auto');

Вычислите метрики импульса и перехода и постройте результат.

 [pulse,transition] = pm(x); 
 plot(pm);

Ссылки

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

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

Объекты

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