exponenta event banner

dsp. PulseMetrics

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

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

Описание

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

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

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

Зависимости

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

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

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

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

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

Зависимости

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

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

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

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

Зависимости

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • OvershootLevel - Уровень превышения

  • UndershootLevel - Уровень подножия

  • OvershootInstant - Момент, соответствующий перегрузке

  • UndershootInstant - Мгновение, соответствующее недокруту

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

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

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

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

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

  • OvershootLevel - Уровень превышения

  • UndershootLevel - Уровень подножия

  • OvershootInstant - Момент, соответствующий перегрузке

  • UndershootInstant - Мгновение, соответствующее недокруту

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

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

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

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

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

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

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

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

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

release(obj)

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

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

Примеры

свернуть все

Примечание.При использовании 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